关于Listview显示不同条目的两种方法
2013-04-15 22:41
253 查看
==============第一种=============腹写adapter中的这两个方法
/**
*根据position来返回不同的条目类型
*返回的是你自己定义的这个条目所对应的类型
*/
@Override
public int getItemViewType(int position) {
return super.getItemViewType(position);
}
--------------------------------------------------------
/**
* 返回集中类型的条目
*/
public int getViewTypeCount() {
}
1,覆写了上面方法之后在getView()中
2,通过 int type = getItemViewType(position); 获得当前条目所对应的类型type,
3,通过switch(type) 比对自己定义的条目所对应的常量,然后初始化不同的convertview
然后进行数据的填充 就OK啦·。。·。·------
----------------- 如果需要删除其中的条目,这个getViewTypeCount 的数值应该比实际数值最少大1吧 - ,否则删除最后一个条目的时候 会下标越界·。。·。·。·
=====第二种================= 华丽的分割线==========================================================
其实上面这种方法有一些隐形的问题,比如 空指针问题,或者当你想更改其中某个条目的backgroundResource 然后你点击其他条目,让这个条目恢复到默认状态的时候,上面这种方法可能就会有些复杂 而且由于逻辑判断过多,可能会导致延迟
1,尽量能写在一个item中,
2,在getView中自己去根据position或者其他条件来判断 然后进行对应 gone visible
3,然后进行对应的操作;
这样做的好处: --------------------------------1,避免过多的判断 2,代码简单更容易控制,避免空指针,更适合一些逻辑处理(比如点击效果的实现)
推荐使用第二种·。。·。·比如聊天的对话列表
/**
*根据position来返回不同的条目类型
*返回的是你自己定义的这个条目所对应的类型
*/
@Override
public int getItemViewType(int position) {
return super.getItemViewType(position);
}
--------------------------------------------------------
/**
* 返回集中类型的条目
*/
public int getViewTypeCount() {
}
1,覆写了上面方法之后在getView()中
2,通过 int type = getItemViewType(position); 获得当前条目所对应的类型type,
3,通过switch(type) 比对自己定义的条目所对应的常量,然后初始化不同的convertview
然后进行数据的填充 就OK啦·。。·。·------
----------------- 如果需要删除其中的条目,这个getViewTypeCount 的数值应该比实际数值最少大1吧 - ,否则删除最后一个条目的时候 会下标越界·。。·。·。·
=====第二种================= 华丽的分割线==========================================================
其实上面这种方法有一些隐形的问题,比如 空指针问题,或者当你想更改其中某个条目的backgroundResource 然后你点击其他条目,让这个条目恢复到默认状态的时候,上面这种方法可能就会有些复杂 而且由于逻辑判断过多,可能会导致延迟
1,尽量能写在一个item中,
2,在getView中自己去根据position或者其他条件来判断 然后进行对应 gone visible
3,然后进行对应的操作;
这样做的好处: --------------------------------1,避免过多的判断 2,代码简单更容易控制,避免空指针,更适合一些逻辑处理(比如点击效果的实现)
推荐使用第二种·。。·。·比如聊天的对话列表
相关文章推荐
- 关于listview多条目显示item的方法
- 两种方法解决ScrollView嵌套ListView出现ListView显示不全的问题
- 【js】:js中对于两种控件不同的值得显示方法
- ListView展示不同类型条目的实现方法
- ExpandableListView实例(二)_两种方式实现QQ中组后面显示子条目数量效果
- 关于iPhone设备不同显示尺寸适配的一些方法
- Android通过LIstView显示文件列表的两种方法介绍
- Android中两种不同的方法实现实时更新时间,是显示时间和系统时间同步
- Android通过LIstView显示文件列表的两种方法介绍
- GridView判断使文字显示不同的颜色的两种方法:1前右判断;2.后台判断
- 关于vector的erase删除操作的两种不同方法,在linux与visual studio的实现讨论
- Android中关于ScrollView嵌套listView,ListView Item只显示一行的解决方法
- 实现ListView的条目下自动隐藏显示Button的方法
- 关于listview嵌套edittext显示错位的解决方法
- 关于输入框得到焦点时文本框清空,失去焦点时又显示默认文字,值发生改变时不再恢复默认文字的两种方法
- 关于在listView中加载不同的条目
- 关于dorado框架datatable处的右键菜单无法根据具体数据实现动态分别显示不同菜单的解决方法
- 多条目展示ListView(如:有两种不同的布局图片在listview条目上展示)
- Android 关于在ScrollView中加上一个ListView,ListView内容显示不完全(总是显示第一项)的问题的两种简单的解决方案
- listview显示不同条目的Adapter