美文网首页
ListView所有adapter的父类-BaseAdapter

ListView所有adapter的父类-BaseAdapter

作者: EraJieZhang | 来源:发表于2018-12-11 14:13 被阅读0次

/**
 * 自定义的BaseAdapter,所有adapter的父类。
 * @author EraJieZhang
 * @since 2015年12月14日
 */
public abstract class MyBaseAdapter<T, Q> extends BaseAdapter {

    public Context context;
    public List<T> list;//
    public Q view; // 这里不一定是ListView,比如GridView

    public abstract View getView(int position, View convertView,ViewGroup parent);

    public MyBaseAdapter(Context context, List<T> list, Q view) {
        this.context = context;
        this.list = list;
        this.view = view;
    }

    public MyBaseAdapter(Context context, List<T> list) {
        this.context = context;
        this.list = list;

    }

    /**
     * update
     *
     * @param list
     */
    public void updateListView(List<T> list) {
        this.list = list;
        notifyDataSetChanged();
    }

    //决定了listview一共有多少个item
    @Override
    public int getCount() {
        return list.size();
    }

        //官方解释是Get the data item associated with the specified position in the data set.
        // 即获得相应数据集合中特定位置的数据项
    @Override
    public Object getItem(int position) {
        return list.get(position);
    }
        //它返回的是该postion对应item的id
        //一般 item的id就时他的position
    @Override
    public long getItemId(int position) {
        return position;
    }

}

相关文章

网友评论

      本文标题:ListView所有adapter的父类-BaseAdapter

      本文链接:https://www.haomeiwen.com/subject/pqoshqtx.html