今天又看到Android的apisdemos里面有一个多选框,于是又查了源码,结果发现,ListView已经实现了多选,还有单选等操作,只需要一些简单的设置就可以了.
但有一个前提,似乎是Adapter需要有它的getItemId返回不同的值,可以代码不同的数据,如果有两个值是一样的,似乎不可行.如果要改变原来的选框的行为,需要重写ListView的performItemClick方法了.
选中的结果可以从ListView.getCheckItemIds得到所选的id,然后根据id从数据列表中处理.
当然ListView如果要使用这样的方式 还需要两点,ListView.setchoice()这里要多选的,multi_choice.还有ListView.setitemcanfocus(false).
但有一个前提,似乎是Adapter需要有它的getItemId返回不同的值,可以代码不同的数据,如果有两个值是一样的,似乎不可行.如果要改变原来的选框的行为,需要重写ListView的performItemClick方法了.
选中的结果可以从ListView.getCheckItemIds得到所选的id,然后根据id从数据列表中处理.
当然ListView如果要使用这样的方式 还需要两点,ListView.setchoice()这里要多选的,multi_choice.还有ListView.setitemcanfocus(false).