在使用列表比如listview中经常会进行自定义适配器操作,也就是自定义adapter,这样的话直接继承系统adapter每次都需要重写很多方法,就需要我们进行封装adapter
package com.base; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import java.util.ArrayList; import java.util.List; /*用于adapter的基础类*/ public abstract class BaseAdapter<T> extends android.widget.BaseAdapter { private List<T> list; protected Context context; public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } public BaseAdapter(List<T> list) { init(null, list); } public BaseAdapter(Context context) { init(context, new ArrayList<T>()); } public BaseAdapter(Context context, List<T> list) { init(context, list); } private void init(Context context, List<T> list) { this.list = list; this.context = context; } public void clear() { this.list.clear(); notifyDataSetChanged(); } public void addAll(List<T> list) { this.list.addAll(list); notifyDataSetChanged(); } @Override public int getCount() { return list == null ? 0 : list.size(); } @Override public T getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } protected View inflate(int layoutResID, ViewGroup root) { LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = layoutInflater.inflate(layoutResID, root, false); return view; } } 自定义adapter继承这个封装的baseadapter就可以了,快快使用让自己的代码更加简单便捷吧。