在ListView上使用自定义的Adapter

已经有了的东西都有

  1. 一个ListView listView
  2. 一个List<Object> dataList
  3. Context context

需要实现的东西是: 一个DataListViewAdapter,当进行如下调用时,就能在列表上显示出数据:

<!-- lang: java -->
listView.setAdapter(new DataListViewAdapter(context, dataList));

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

<!-- lang: java -->
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;
	}

    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区

领取腾讯云代金券