我有一个ListView
,我将其设置为我的适配器。 ListView
项包含两个视图元素chekbox
和TextView
。
我已为setChoiceMode(ListView.CHOICE_MODE_MULTIPLE)
提供ListView
。
当我想选择一个或多个元素时,我想得到计数(基于选择和取消选择)。
我无法在onItemClickListener
的{{1}}中执行此操作。
所以我在BaseAdapter中编写了逻辑。
ListView
但如果我取消选择该项目,那么该值必须减少。如果我在holder.check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
count += 1;
}
});
只有一个项目,那么我可以写
ListView
并获取Fragment中的值。只是我感到困惑。有人能帮助我吗?
答案 0 :(得分:2)
使用此功能。
SparseBooleanArray checkedItemPositions = getListView().getCheckedItemPositions();
int count = 0;
for (int i = 0, ei = checkedItemPositions.size(); i < ei; i++) {
if (checkedItemPositions.valueAt(i)) {
count++;
}
}
// use count as you wish
确保count
位于本地(或OnClickListener的块)范围内,以便每次单击某个按钮或其他内容时,count会重置并重新计算检查/取消选中的项目数。
如果您有更多问题,请告诉我们。)