记得刚开始学android开发时要实现Listview多选然后批量操作的时候,用Checkbox+Textview,因为adapter复用后上下翻页的时候Checkbox状态无法保存,然后用一个全局变量记住该状态,翻页的时候再恢复状态。现在想想这么搞不仅low爆了,而且效率低。由于最近项目又需要实现类似的功能,想想不能重蹈覆辙,于是谷歌了一把,看到CheckedTextView,原来谷歌工程师已经帮我们实现了类似的功能。本来以为很简单,随便两下就搞定,等到自己动手,才发现不是那么回事,于是写下此文记录下来。
先来看完整的过程:
1.添加控件
<ListView
android:id="@+id/lvMain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="multipleChoice" />
2.设置数据
for (int i=0;i<100;i++)
{ mDataList.add("item--"+i); }
MyBaseAdapterListview<String>adapter=new MyBaseAdapterListview<String>(this,mDataList,android.R.layout.simple_l