Adapter

ViewHolder的封装

public class ViewHolder {

    @SuppressWarnings("unchecked")
    public static <T extends View> T get(View view, int id) {
        SparseArray<View> viewHolder = (SparseArray<View>) view.getTag();
        if (viewHolder == null) {
            viewHolder = new SparseArray<View>();
            view.setTag(viewHolder);
        }

        View childView = viewHolder.get(id);
        if (childView == null) {
            childView = view.findViewById(id);
            viewHolder.put(id, childView);
        }

        return (T) childView;
    }
}

Adapter的封装

public abstract class BasicAdapter extends BaseAdapter {

protected List mDataList;
protected Context mContext;
protected LayoutInflater mInflater;

public BasicAdapter(Context context, List dataList) {
    protected List mDataList;
    protected Context mContext;
    protected LayoutInflater mInflater;

    public BasicAdapter(Context context, List dataList) {
        mContext = context;
        mDataList = dataList;
        mInflater = LayoutInflater.from(context);
    }

    @Override
    public int getCount() {
        return mDataList.size();
    }

    @Override
    public Object getItem(int position) {
        return mDataList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        return null;
    }
}
posted @ 2015-10-13 10:44  阿偉  阅读(183)  评论(0)    收藏  举报