因此,我在listview
中显示了菜单项以及checkboxes
,供用户选择他喜欢的内容。我有一个开销的购物车图标,通过适配器视图中写入的函数跟踪没有检查的项目。
My problem:
当我在OnItemClick listener
内部实现了购物车增量功能,然后当我检查几个项目时,doesn't get updated
除非我创建click outside of checkbox
(列表视图中的其他位置)
我已尝试根据其他SO答案禁用后代可聚焦性并修改可聚焦性。他们还没有解决我的问题。
我的通话活动
adapter = new MenuAdapter(CreateOrder.this,itemslist);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
selecteditems = adapter.getSelectedList();
Log.e("Selected Items",selecteditems.toString());
size = selecteditems.size();
qo.setText(String.valueOf(size));
Log.e("No of main items ",String.valueOf(size));
}
});
答案 0 :(得分:0)
checkBoxState = new boolean [linkedList.size()];
你在getView()中有这个。因此,对于getView()的每次调用,你都会抛弃前者。
在getView()中你使用checkBoxState [position],然后当然是未定义的或null。
所以把它取出并放在你的适配器的构造函数中,然后像使用那个int数组一样初始化它。
顺便说一句:你为什么不告诉你的复选框在滚动过程中没有保持状态?