Android - 通过复选框从listview获取带自定义适配器的项目

时间:2015-06-10 15:51:39

标签: android checkbox android-listview android-adapter baseadapter

我有一个带有自定义适配器的listview(扩展BaseAdapter)。

它收到了我必须填充ListView的对象列表。

我的一个对象的属性是一个名为“checked”的布尔值。

在我的方法getView上,这个属性负责检查或不检查我的View上的CheckBox。

一切都运行得很好,当我的Activity加载时,ListView就会出现在我的对象列表中(从我的数据库中收到),有些已经过检查,有些未经过检查。

但是当我检查一个ListView的复选框时,我需要更新我的对象,因此它对我的数据库有价值。问题是:

“如何通过检查我的CheckBox来了解更新哪个项目(对象)?”

“他们的名字不一样吗?”

我有一个listView.setOnItemClickListener(...),我可以通过它的位置获取我的对象,但是当我单击列表视图本身的“行”而不是我的复选框时它会起作用...我想关于使用它来检查/取消选中我的CheckBox ......但是我该怎么办呢?我可以使用该位置从我的listView获取特定的CheckBox吗?

最后,我还认为最好的方法是使用“listView.setOnItemClickListener(...)”检查我的CheckBox,一旦我的用户更容易通过它的行检查一个项目而不是微小的CheckBox,有人可以用解决我的问题的最佳方法来帮助我吗?

对不起,我没有发布我的代码,但现在我无法访问它。

1 个答案:

答案 0 :(得分:1)

看看这个tutorial

您需要在活动将实施的复选框的onClick中添加一个方法。一种方法是向adpater添加一个抽象方法,并使活动实现它。让我们调用onCheckBoxClicked(int position)