Android基础:使用ListView和适配器的活动

时间:2015-11-05 07:27:34

标签: android listview android-adapter

我大约一个月前开始学习Android编程,并取得了一些进展。但我确实有一个关于活动和适配器的基本问题。

我有一个带有listview的活动,我正在使用适配器“填充”listview的行。我的适配器使布局中的复选框膨胀。

鉴于这种情况,如果我想单击操作栏菜单中的按钮(如“确定”按钮),请捕获所有选中的项目并将其发送到活动,我该怎么做?

我问这个问题,因为我无法弄清楚Activity和Adapter如何相互通信。从我看过的很多例子中,复选框监听器似乎在适配器内,而Ok按钮是活动中膨胀的菜单布局的一部分,因此按钮单击监听器在活动中。

因此,在这种情况下,如何在单击“确定”按钮时获取已检查项目的完整列表?

2 个答案:

答案 0 :(得分:2)

如果您将Adapter作为Activity的实例变量创建,则Activity可以保存对Adapter的引用。使用它有利于你。

当您检查或取消检查事物并在适配器中收到通知时,您可以跟踪在集合中检查的内容或您喜欢的任何数据结构。当您点击“活动”中的“确定”按钮时,可以通过向适配器添加返回此信息的方法,向您的适配器询问检查的内容。

答案 1 :(得分:1)

首先请记住,每当您想要实现时,您需要创建5个文件。 创建一个包含

的活动
  1. layout xml file->在此文件中添加列表视图小部件
  2. java文件 - 包括您要添加的列表
  3. 创建一个布局xml,它被称为布局行xml文件,其中包含您要显示的实际布局。在您的情况下,请选中此文件中的复选框和确定按钮。
  4. 现在创建一个简单的java bean类,它只包含getter setter方法和构造函数
  5. 创建一个扩展基本适配器的适配器类,此适配器会扩展行xml文件的布局。
  6. 现在,在ok buttton和内部放一个onclick listner事件,如果检查显示复选框的条件或者不使用ischecked()方法。如果检查chechbox,那么它将在下一个活动中显示使用ok的click事件按钮。

    在java bean类中,如果选中复选框,则需要获取变量,然后其值将为true,如果未选中复选框,则该值将为false。