import java.util.LinkedList;
import java.util.List; import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter; public abstract class MyBaseAdapter<T> extends BaseAdapter {
protected Context mContext;
protected LayoutInflater mInflater;
protected List<T> mDatas = new LinkedList<T>(); public MyBaseAdapter(Context context, List<T> datas) {
mContext = context;
mInflater = LayoutInflater.from(context);
if (datas != null) {
mDatas = datas;
}
} public void addItemLast(List<T> datas) {
mDatas.addAll(datas);
} public void addItemTop(List<T> datas) {
mDatas = datas;
} @Override
public int getItemViewType(int position) {
return super.getItemViewType(position);
} @Override
public int getViewTypeCount() {
return super.getViewTypeCount();
} public MyBaseAdapter(Context context, List<T> datas,int round) {
mContext = context;
mInflater = LayoutInflater.from(context);
if (datas != null) {
mDatas = datas;
}
} @Override
public int getCount() {
int count=0;
if(mDatas.size()>0){
count=mDatas.size();
}
return count;
} @Override
public Object getItem(int position) {
return mDatas.get(position);
} @Override
public long getItemId(int position) {
return position;
} /**
* 移除一条数据集合
* @param position
*/
public void remove(int position){
mDatas.remove(position);
} /**
* 移除所有数据
*/
public void removeAll(){
mDatas.clear();
} public List<T> getDatas() {
return mDatas;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
return createView(position,convertView,parent);
} /***
*
* @param position
* @param convertView
* @param parent
* @return
*/
public abstract View createView(int position, View convertView, ViewGroup parent) ; }

项目中自己一直用到的baseAdapter的类的更多相关文章

  1. VB的一些项目中常用的通用方法-一般用于验证类

    1.VB的一些项目中常用的通用方法: ' 设置校验键盘输入值,数字 Public Function kyd(key As Integer) As Integer Dim mychar mychar = ...

  2. Memcached的配置,SSH项目中的整合(com.whalin),Memcached工具类,Memcached的代码调用

     1 修改pom.xml,添加依赖文件: <dependency> <groupId>com.whalin</groupId> <artifactId&g ...

  3. 在项目中同时使用Objective-C和Swift

    苹果发布的Swift语言可以和之前的Objective-C语言同时存在于一个项目中. 可能有人会认为是同一个类文件中既可以有Objective-C也可以有Swift,这是不对的.同一个类文件或同一个代 ...

  4. Spring + SpringMVC + Mybatis项目中redis的配置及使用

    maven文件 <!-- redis --> <dependency> <groupId>redis.clients</groupId> <art ...

  5. spring 项目中在类中注入静态字段

    有时spring 项目中需要将配置文件的属性注入到类的静态字段中 例如:文件上传 //文件上传指定上传位置 //resource-dev.properties 有如下参数 #upload UPLOAD ...

  6. .net core项目中引用.net framework封装的dll库

    https://blog.csdn.net/sharphou/article/details/80746551   A----------如何安装IIS [Server Hosting]------- ...

  7. vs2010 C# 如何将类做成DLL 再从另一个项目中使用这个类

    vs2010 C# 如何将类做成DLL 再从另一个项目中使用这个类 2011-10-20 12:00 486人阅读 评论(0) 收藏 举报 一.将类做成DLL 方法一: 你可以通过在命令行下用命令将以 ...

  8. 在vue项目中引入阿里图标库小记

    使用Vue技术栈开发不仅效率高,而且很友好,而且还有很多基于vue的UI框架,例如:element等,但是这类框架美中不足的是,图标太少.为了解决这个问题,不得不引入第三方字体库,今天以阿里图标库为例 ...

  9. C#项目中文件的具体含义

    1.Bin 目录 用来存放编译的结果,bin是二进制binary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin ...

随机推荐

  1. (原创) 使用pymongo 3.6.0连接MongoDB的正确姿势

    0.疑惑 前两天使用pymongo连接MongoDB的时候发现了一个奇怪的现象:我本机MongoDB并没有打开,但是使用pymong.MongoClient()进行连接时,并没有异常,我的服务端也正常 ...

  2. java的数组和arraylist

    1.数组 1.0   一开始就错了 int a[8];   //没有像C在内存中开辟了8个区域 改: int a[] = {1,2,3} ; System.out.println(a.length); ...

  3. MySQL在登陆时出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)错误

    错误显示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1.找到配 ...

  4. MySQL Export--导出数据

    =========================================================== SELECT INTO OUTFILE语法格式: SELECT [columns ...

  5. js 时间戳和日期互转

    // 获取当前时间戳(以s为单位) var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; //当前时间戳为:140 ...

  6. Python自建collections模块

    本篇将学习python的另一个内建模块collections,更多内容请参考:Python学习指南 collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtupl ...

  7. SharePoint Online 怎样让用户只能拥有sub site 的权限

    大家使用SharePoint 可能遇到这样的问题.  我怎样能设置manager 为site 的管理人员.  而我收下不同部门的员工只能访问他自己的sub site呢? 这个设置其实很简单. 1. 简 ...

  8. SpringMVC请求体参数处理问题

    如果请求定义为application/json格式,则要用Spring MVC中@RequestBody参数才能接受(用@RequestParam参数接受会报400错误),但SpringMVC的@Re ...

  9. Learn ft=rom WTL: CXXImpl<T>

    // t9.cpp : Defines the entry point for the console application. // #include "stdafx.h" cl ...

  10. centos7 docker私有仓库搭建

    习Docker的过程中Docker的私有仓库一直没能成功,就是因为CentOS 6.x和CentOS 7默认引入了支持https认证,每次在push和pull的时候都会报错,今天是周末,利用一天的时间 ...