封装一个基础BaseAdapter类
来源:互联网 发布:今天公布的经济数据 编辑:程序博客网 时间:2024/06/05 23:54
public abstract class MyBaseAdapter<T> extends BaseAdapter { private List<T> data; private LayoutInflater inflater; private int layoutRes; public MyBaseAdapter(Context context, int layoutRes, List<T> data) { inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); this.layoutRes = layoutRes; if (data == null) { this.data = new ArrayList<>(); } else { this.data = data; } } public void updateRes(List<T> data) {// this.data.clear();// this.data.addAll(data); this.data = data; notifyDataSetChanged(); } public void removeRes(int position) { data.remove(position); notifyDataSetChanged(); } public void adddateRes(List<T> data) { if (data != null && data.size() > 0) { this.data.addAll(data); notifyDataSetChanged(); } } public int getCount() { return data != null ? data.size() : 0; } public T getItem(int position) { return data.get(position); } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { convertView = inflater.inflate(layoutRes, parent, false); holder = new ViewHolder(convertView); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } bindData(position, holder, getItem(position)); return convertView; } public abstract void bindData(int position, ViewHolder holder, T t); protected static class ViewHolder { public View layout; private Map<Integer, View> cacheView; public ViewHolder(View convertView) { layout = convertView; cacheView = new HashMap<>(); } public View getView(int resId) { View view = null; if (cacheView.containsKey(resId)) { view = cacheView.get(resId); } else { view = layout.findViewById(resId); cacheView.put(resId, view); } return view; } }}
阅读全文
0 0
- 封装一个基础BaseAdapter类
- 封装RecyclerView的基础适配器BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android中BaseAdapter基础类
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- Android基础类之BaseAdapter
- 设置 当前样式dimstyle
- 存储过程更新数据
- spark取相同条件下最早记录
- Ubuntu 16.04 安装CUDA8.0+Cudnn6.0+TensorFlow+Caffe安装
- java安装1.8的经验和Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVers问题处理
- 封装一个基础BaseAdapter类
- px,rem,em的联系与区别
- 一点一点的积累算法JAVA版之二分查询
- 13.3在Spring4中使用通用Mapper
- 子网掩码 网段 网关
- 网易考拉Java实习
- 极简版ASP.NET Core学习路径及教程
- sshd_config配置文件详解
- 图片转换为16进制(JAVA)