Adapter万能适配器,只要3行
来源:互联网 发布:淘宝店铺大图怎么做 编辑:程序博客网 时间:2024/06/05 22:35
废话不多说,先上图一个匿名内部类,一个适配器完成+两项listview优化
注:holder.setText()是把取view操作提取而已,如果需要操作imageview添加个 setImageView即可
so easy!
想要跟上面代码一样简单,ok 导入两个类
至于两个类怎么写的,稍微花下时间看下,应该就明白
类1 ViewHodler.java
package com.zhuimore.iqzone.adapter.base;import android.content.Context;import android.util.SparseArray;import android.view.View;import android.widget.ImageView;import android.widget.TextView;import com.nostra13.universalimageloader.core.ImageLoader;public class ViewHolder {private View mConvertView;// 对于key和valse为int、Obj的 用SparseArray比map效率高private SparseArray<View> mViews;public ViewHolder(Context context, int layoutId) {mViews = new SparseArray<View>();mConvertView = View.inflate(context, layoutId, null);mConvertView.setTag(this);}public static ViewHolder get(Context context, int layoutId, View convertView) {if (convertView == null) {return new ViewHolder(context, layoutId);} else {return (ViewHolder) convertView.getTag();}}public View getView(int viewId) {View v = mViews.get(viewId);if (v == null) {v = mConvertView.findViewById(viewId);mViews.put(viewId, v);}return v;}public View getConvertView() {return mConvertView;}public ViewHolder setText(int viewId, String content) {TextView v = (TextView) getView(viewId);v.setText(content);return this;}public ViewHolder setImageView(int viewId, String uri) {ImageView v = (ImageView) getView(viewId);ImageLoader.getInstance().displayImage(uri, v);return this;}}
类2 AdapterBestBase.java
package com.zhuimore.iqzone.adapter.base;import java.util.List;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;public abstract class AdapterBestBase<T> extends BaseAdapter {public Context mContext;public List<T> mList;public int layoutId;public AdapterBestBase(Context context, int layoutId, List<T> mList) {this.mContext = context;this.mList = mList;this.layoutId = layoutId;}public List<T> getList() {return mList;}public void appendToList(List<T> list) {if (list == null) {return;}mList.addAll(list);notifyDataSetChanged();}public void appendToTopList(List<T> list) {if (list == null) {return;}mList.addAll(0, list);notifyDataSetChanged();}public void appendT(T object) {if (object == null) {return;}mList.add(object);notifyDataSetChanged();}public void removeT(T object) {if (object == null) {return;}mList.remove(object);notifyDataSetChanged();}public void clear() {mList.clear();notifyDataSetChanged();}@Overridepublic int getCount() {return mList.size();}@Overridepublic T getItem(int position) {return mList.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// 检测convertViewViewHolder holder = ViewHolder.get(mContext, layoutId, convertView);// 回调getExView(holder, mList.get(position));return holder.getConvertView();}protected abstract void getExView(ViewHolder holder, T t);}
1 0
- Adapter万能适配器,只要3行
- adapter万能适配器
- 万能适配器Adapter.
- 简单的Adapter万能适配器
- 打造Android万能适配器Adapter
- Adapter---打造万能的ListView GridView 适配器
- Adapter---打造万能的ListView GridView 适配器
- Android万能适配器(二)封装Adapter
- Android之万能适配器Adapter的使用
- 万能适配器2 通用Adapter编写
- Adapter优化(三)万能适配器
- 如何打造Listview万能适配器adapter
- ListView Adapter 封装 打造Android 万能适配器
- Android万能适配器base-adapter-helper的源码分析
- Android万能适配器Adapter-android学习之旅(74)
- Android中的万能适配器——base-adapter-helper解析
- 打造万能Adapter(适配器)——适用于ListView、GridListView
- 属于RecyclerView的万能适配器Adapter和ViewHolder
- php 参数优化
- 看不见的大猩猩--读书笔记
- Android利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
- Luence5分钟快速入门示例
- Maven项目打包杂谈
- Adapter万能适配器,只要3行
- CMake指令集锦
- Oracle Critical Patch Update(CPU)
- 为AM335X 制作ubifs文件系统
- 陈怡暖:关注德法欧元制造业PMI美国三数据
- static详解
- SC Services Operation , for loop ...
- 数据结构—红黑树
- ffmpeg用法