如何访问ListView行中的视图?

时间:2015-03-27 12:18:22

标签: android listview android-listview

我有一个使用ArrayAdapter设置的ListView。适配器为ListView的每一行提供一些文本。适配器基于Strings,基本上只创建一个CheckBox并将其文本设置为相应的String。在ListView之外有一个Switch,当打开时应该检查ListView中的所有CheckBox。我无法在处理单击Switch的方法中访问ListView的每一行内的CheckBoxes。我尝试使用getItemAtPosition(),但据我所知,它只给了我作为CheckBox文本的字符串。有人可以提供一些帮助来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

要获取列表项的视图,请使用列表中的getChildAt(),然后您可以在视图上调用findViewById()以获取复选框,但这仅适用于列表中可见的视图

为了让您的生活更轻松,请使用自定义类创建自定义数组适配器。该类应该有一个类似isChecked的布尔字段,并在getView()中将复选框设置为checkedunchecked,具体取决于isChecked字段的值,然后您就可以使用getItem()检索要更改isChecked值的列表项的类,并在适配器上调用notifyDataSetChanged()