android listview 获取选中项的问题

时间: 发布人:uzgm2765

android listview 获取选中项的问题

已解决问题

谷歌uzgm2765用户在提交了关于“毕雯Bandroid listview 获取选中项的问题”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-01-28T21:12:03。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,希望你能感受到,我最真诚的谢意 !

希望以下的回答,能够帮助你。

第1个回答

用户名:w着州斗属获汉稳更轻矿置oshihe1914  

checked随措ID.add(position);//这里添加选中项,但是再次点击选中项会再一次添加。
把上面这句的代码改成如下:
intcount=checkedID.indexOf(position);

if(count==-1){
checkedID.add(podition);
}成九什粉else{
checkedID.remove(count);
}
还有checkedID的定义最好是定义成全局变量
问题解决,下面的可忽略。。。

--------------------------------------------------由希界随照故旧却--------------------保----------------------补望星------------
一般浓刻置伤植班迫来说像这种选中或取消问题,从执行效率来说用下面会困移战备雷类画至岩但混更好一些,这也是常用的方法:
List<Boolean>checkedID=newArrayList<Boolean>(钢汽直固吃);
for(inti=0;i<getData();i++){
checkedID.add(false);
}
然后准密在你的**中实现
checkedID.set(position,!checkedID.get(position));
当你需要调用选中的选项是,只要判断出ch乎破结帝绿式eckedID中true的选项就可以了!
--------岩预部命名米今末广赶基-------------------让的每亮-----------------------火抓表雨唱门-------------红培------------胞曲谁控及且异照-----------------------
当然以上是模板,实际应用中更多的是把你定义作持的
List<Boolean>checkedID=newArrayList<Boolean>();
for(inti=0;i<getData();i++){
checkedID.add(false);
}
这部分放在你的geData中::
比如你的getData返回的是List<Object>;你可以在Listadd的时候把其处理成返回
List<h**ashMap<Object,Boolean>>这样的Map列表!!!
在你需要拿出选中的object直接判断boolean拿出你的Oject就好!

------------------------------------------------------------------------------------------------
最后希望能够帮到你,也希望你能写出更有效率的代码!