Android中ListView使用addHeaderView和addFooterView注意事项
来源:互联网 发布:步兵升级数据 编辑:程序博客网 时间:2024/06/05 03:43
Android中ListView的addHeaderView和addFooterView使用问题
设定ListView的adapter条数为5,即adapter.getCount() = 5
单独使用addHeaderView(View v, Object data, boolean isSelectable)
isSelectable = true时,adapter.getCount()=5,itemClick事件中,点击头部取时position为0,原本不加header时position为0的条目,此时为1,点击最后一条时,position为5,报数组越界错误。即在使用addHeaderView的情况下,所有原有条目的ponsition都加1.
isSelectable = false时,结果与上述结果相同,唯一不同之处在于,点击header时,itemClick事件不会响应。
使用n个addHeaderView(View v, Object data, boolean isSelectable)
adapter.getCount()的结果不变,itemClick事件position的位置改变成position+n,其他与上述相同
单独使用addFooterView(View v, Object data, boolean isSelectable)
isSelectable = true时,adapter.getCount()=5,itemClick事件中,原有数据的点击事件不受影响,点击footer时,position=5,报数组越界错误。
isSelectable = false时,结果与上述结果相同,唯一不同之处在于,点击footer时,itemClick事件不会响应。
使用n个addFooterView(View v, Object data, boolean isSelectable)
点击所有footer都报数组越界错误,其他与上述相同。
解决方法
1、一般header和footer都是跟listview内容有区别的,不使用itemClick事件,而是用onClick作为监听。
2、如果只加了footer,itemClick不用做其他处理,如果加了header则在处理事件中,把position减1.
还有一种方式:
@Overridepublic void onItemClick(AdapterView<?> parentView, View v, int position, long id) { //此时获取的数量是adapter原本的数量加上header和footer的数量 parentView.getAdapter().getCount(); parentView.getAdapter().getItem(position);}
- Android中ListView使用addHeaderView和addFooterView注意事项
- android重写listview使用addHeaderView和addFooterView注意事项
- android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView
- android listview addHeaderView和addFooterView的注意事项【转】
- android listview addHeaderView和addFooterView的注意事项【转】
- (转)android listview addHeaderView和addFooterView的注意事项
- android listview addHeaderView和addFooterView的注意事项【转】
- ListView addHeaderView和addFooterView的注意事项
- UVA 10766(Organising the Organisation-补图生成树计数)
- @OneToMany、@ManyToOne以及@ManyToMany讲解(五)
- Fragment相关
- iPhone 如何添加横屏代码
- C#自动更换IE代理IP并判断代理是否可连接网络
- Android中ListView使用addHeaderView和addFooterView注意事项
- 你应该掌握的七种回归技术
- 03-树2. List Leaves (25)
- Spring bean reference example
- 个人发展职业定位思考
- POJ 3041 Asteroids(匈牙利算法模板)
- DialogFragment的使用+j接口回调
- HDU 1248:寒冰王座【Floyd & 完全背包】
- remove all the same elements