`
sunting_bcwl
  • 浏览: 93872 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

不用配置文件,完全使用代码手工创建ListView

阅读更多
ListView的时候通常会使用SimpleAdapter创建适配器,但是这个适配器依赖资源配置文件,一旦我们的工程不允许使用资源文件而必须用Java代码手工创建ListView的时候,就很难办了。

其实我们可以看下SimpleAdapter的源代码,其中只是用LayoutInflater将传入的资源文件id解析成了View,然后做了一系列的工作将相应的View Item和数据集绑定,我们只需要参照SimpleAdapter实现一个我们自己的Adapter即可,直接使用我们手工创建的ItemView类来构造Item.

几个要点:
1.自定义类实现ListView的Item的布局(继承自View或其合适的子类);
2.自定义类实现Adapter的功能,将Item和给定数据集绑定(继承自BaseAdapter,并重写一些方法,最重要的方法为getView(),一个参考实现:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v;

if (convertView == null) {
// We create our own View Item at here.
v = new FriendListViewItem(mContext);
} else {
v = convertView;
}

bindView(v, position);

return v;
}

private void bindView(View view, int position) {
final Map<String, String> dataSet = mData.get(position);
if (dataSet == null) {
return;
}

FriendListViewItem item = (view instanceof FriendListViewItem) ? (FriendListViewItem) view
: null;

if (item == null) {
return;
}

item.setValue(dataSet);
}

完整Demo可参考附件工程,很简单
分享到:
评论

相关推荐

    ASP.NET 控件的使用

    1.3.3 使用代码隐藏页面 24 1.3.4 处理页面事件 27 1.3.5 使用Page.IsPostBack属性 29 1.3.6 调试和跟踪ASP.NET页面 30 1.3.7 跟踪页面执行 33 1.4 安装ASP.NET Framework 35 1.5 小结 37 第2章 使用标准控件 38 ...

    ASP.NET.4揭秘

    20.2.1 手工创建实体732 20.2.2 使用linq to sql designer创建实体735 20.2.3 构建实体关联737 20.2.4 使用linqdatasource控件738 20.3 使用linq to sql执行标准数据库命令741 20.3.1 linq to objects与linq to sql...

    asp.net知识库

    革新:.NET 2.0的自定义配置文件体系初探 关于如何在ASP.NET 2.0中定制Expression Builders 怎么在ASP.NET 2.0中使用Membership asp.net 2.0-实现数据访问(1) ASP.NET 2.0 新特性 .NET 2.0里使用强类型数据创建...

Global site tag (gtag.js) - Google Analytics