在ListView上使用自定义的Adapter

已经有了的东西都有

  1. 一个ListView listView
  2. 一个List dataList
  3. Context context
  4. 需要实现的东西是
    一个DataListViewAdapter,当进行如下调用时,就能在列表上显示出数据:

    
    listView.setAdapter(new DataListViewAdapter(context, dataList));
    

    我们需要实现一个扩展了BaseAdapter的类,代码如下

    
    private class DataListViewAdapter extends BaseAdapter {
    
        Context _context;
        List<Object> _dataList = new ArrayList<Object>();
    
        /*
        * 构造方法
        */
        public DataListViewAdapter(Context context, List<Object> listDatas) {
            _context = context;
            _dataList = listDatas;
        }
    
        /*
        * 获取数据集的总数
        */
        @Override
        public int getCount() {
            return _dataList.size();
        }
    
        /*
        * 获取数据单元
        */
        @Override
        public Object getItem(int position) {
            return _dataList.get(position);
        }
    
        /*
        * 获取位置
        */
        @Override
        public long getItemId(int position) {
            return position;
        }
    
        /*
        * 设置并返回视图
        */
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = LayoutInflater.from(_context).inflate(R.layout.xxxx, null);
            Object o = getItem(position);
            if(o != null) {
                //TODO 这里通过view查找到组件,然后给其设置值
            }
            return view;
        }
    
        }
    

你可能感兴趣的:(在ListView上使用自定义的Adapter)