我有一个带有自定义适配器的listview(扩展BaseAdapter)。
它收到了我必须填充ListView的对象列表。
我的一个对象的属性是一个名为“checked”的布尔值。
在我的方法getView上,这个属性负责检查或不检查我的View上的CheckBox。
一切都运行得很好,当我的Activity加载时,ListView就会出现在我的对象列表中(从我的数据库中收到),有些已经过检查,有些未经过检查。
但是当我检查一个ListView的复选框时,我需要更新我的对象,因此它对我的数据库有价值。问题是:
“如何通过检查我的CheckBox来了解更新哪个项目(对象)?”
“他们的名字不一样吗?”
我有一个listView.setOnItemClickListener(...),我可以通过它的位置获取我的对象,但是当我单击列表视图本身的“行”而不是我的复选框时它会起作用...我想关于使用它来检查/取消选中我的CheckBox ......但是我该怎么办呢?我可以使用该位置从我的listView获取特定的CheckBox吗?
最后,我还认为最好的方法是使用“listView.setOnItemClickListener(...)”检查我的CheckBox,一旦我的用户更容易通过它的行检查一个项目而不是微小的CheckBox,有人可以用解决我的问题的最佳方法来帮助我吗?
对不起,我没有发布我的代码,但现在我无法访问它。
答案 0 :(得分:1)
看看这个tutorial
您需要在活动将实施的复选框的onClick中添加一个方法。一种方法是向adpater添加一个抽象方法,并使活动实现它。让我们调用onCheckBoxClicked(int position)