您的位置:首页 > 其它

自定义BaseAdapter

2015-03-06 11:19 141 查看
自定义一个类继承自BaseAdapter,将一些Adapter中相同的方法封装到自定义类中,在写Adapter的时候直接继承自这个自定义类

public abstract classMyBaseAdapter<T> extends BaseAdapter {

protectedContext context;

protectedLayoutInflater inflater;

protectedArrayList<T> myList=new ArrayList<T>();

publicMyBaseAdapter(Context context){

this.context=context;

this.inflater=LayoutInflater.from(context);

}

//封装加数据的方法--1条 多条

publicvoid appendData(T t,boolean isClearOld){

if(t==null)

return;

if(isClearOld)

myList.clear();

myList.add(t);

}

publicvoid appendData(ArrayList<T> data,boolean isClearOld){

if(data==null)

return;

if(isClearOld)

myList.clear();

myList.addAll(data);

}

//封装加数据的方法--1条 多条 在顶部添加

publicvoid appendDataTop(T t,boolean isClearOld){

if(t==null)

return;

if(isClearOld)

myList.clear();

myList.add(0,t);

}

publicvoid appendDataTop(ArrayList<T> data,boolean isClearOld){

if(data==null)

return;

if(isClearOld)

myList.clear();

myList.addAll(0,data);

}

publicvoid update(){

this.notifyDataSetChanged();

}

publicvoid clear(){

myList.clear();

}

publicint getCount() {

if(myList==null)

return0;

returnmyList.size();

}

publicT getItem(int position) {

if(myList==null)

returnnull;

if(position>myList.size()-1)

returnnull;

returnmyList.get(position);

}

publiclong getItemId(int position) {

returnposition;

}

publicView getView(int position, View convertView, ViewGroup parent) {

returngetMyView(position, convertView, parent);

}

publicabstract View getMyView(int position, View convertView, ViewGroup parent);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: