前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在ListView上使用自定义的Adapter

在ListView上使用自定义的Adapter

作者头像
LeoXu
发布2018-08-15 14:45:40
9410
发布2018-08-15 14:45:40
举报
文章被收录于专栏:LeoXu的博客LeoXu的博客

已经有了的东西都有

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

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

代码语言:javascript
复制
<!-- lang: java -->
listView.setAdapter(new DataListViewAdapter(context, dataList));

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

代码语言:javascript
复制
<!-- 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;
	}

    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014/07/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档