标签:
2015/04/01 星期三
计划:
完成:
问题原因:主要问题在于根据状态来改变按钮的显示,但因为listview的item具有复用机制,可能会出现按钮状态连锁改变、按钮状态紊乱等不定情况,解决办法是记住对应索引的按钮状态存入集合,在getview中读取,显示,触发事件的时候再更改集合,重新赋值。
protected void onListItemClick(ListView l, View v, int position, long id)
声明,我看文档了,文档说:
onListItemClick:当list里的一个item被点击的时候调用
l
这个点击事件在哪个ListView发生的
v
哪个View被点击了
position
这个View在ListView中的位置
id
这个被点击的View的ID
position 在listview是的位置,可以理解为数组的下标。id是子view的资源id,在整个应用中是唯一的。 |
position是用来被Cursor定位的,id是被SQLiteOpenHelper增删改查用的。
id是数据库相关的变量,Cursor查询数据库时有用
参考资料:
SlideExpandableListView-master
Android ListView和Adapter(二) 继承BaseAdapter实现一个列表功能:
在处理ListView的条目点击事件的时候,ListView的父类AdapterView会有一个方法getItemAtPosition 这个方法会调用Adapter中的getItem(int postion)方法
开启这个状态开关需要写在OnItemClickListener(), 再里面通过getAdapter获取BaseAdapter实例,然后通过其中的notifyDataSetInvalidated()刷新数据就好了。
标签:
原文地址:http://www.cnblogs.com/fansen/p/4384303.html