Android 基础知识:Activity ListView 和适配器
Android Basics: Activity with ListView and Adapters
我大约一个月前开始学习 Android 编程,并且取得了一些不错的进步。但我确实有一个关于活动和适配器的基本问题。
我有一个带有列表视图的 activity,我正在使用一个适配器来 "populate" 列表视图的行。我的适配器扩展了一个带有复选框的布局。
鉴于这种情况,如果我想单击操作栏菜单中的一个按钮(如确定按钮),捕获所有选中的项目并将其发送到 activity,我该怎么做?
我问这个问题是因为我无法弄清楚 Activity 和适配器如何相互通信。从我见过的许多例子来看,复选框监听器似乎在适配器内,而 Ok 按钮是在 Activity 中膨胀的菜单布局的一部分,因此按钮点击监听器在 activity 内。
那么在这种情况下,如何在单击“确定”按钮时获得完整的已勾选项目列表?
如果您将适配器创建为 Activity 的实例变量,则您的 Activity 可以保存对适配器的引用。充分利用它。
当您检查或取消检查事物并在适配器中收到通知时,您可以跟踪集合中检查的事物或您喜欢的任何数据结构。当您点击 Activity 中的“确定”按钮时,您可以通过向适配器添加一个方法来询问您的适配器检查了什么,方法是 returns 此信息。
首先请记住,无论何时要实施,都需要创建 5 个文件。
创建一个 activity 其中包含
- layout xml file->add list view widget in this file
- java 文件-其中包含您要添加的列表
- 创建一个名为布局行 xml 的布局 xml 文件,其中包含您想要 show.In 您的案例在该文件中使用复选框和确定按钮的实际布局。
- 现在创建一个简单的 java bean class,它只包含 getter setter 方法和一个构造函数
- 创建一个扩展基本适配器的适配器 class,此适配器会扩充行 xml 文件的布局。
现在,如果显示复选框的条件被选中或不使用 ischecked() method.if checkbox 被选中,那么它将在 ok 按钮和里面放置一个 onclick listner 事件 activity 使用确定按钮的点击事件。
在 java bean class 中,如果复选框被选中,则它的值将为 true,如果复选框未被选中,则该值将为 false。
我大约一个月前开始学习 Android 编程,并且取得了一些不错的进步。但我确实有一个关于活动和适配器的基本问题。
我有一个带有列表视图的 activity,我正在使用一个适配器来 "populate" 列表视图的行。我的适配器扩展了一个带有复选框的布局。
鉴于这种情况,如果我想单击操作栏菜单中的一个按钮(如确定按钮),捕获所有选中的项目并将其发送到 activity,我该怎么做?
我问这个问题是因为我无法弄清楚 Activity 和适配器如何相互通信。从我见过的许多例子来看,复选框监听器似乎在适配器内,而 Ok 按钮是在 Activity 中膨胀的菜单布局的一部分,因此按钮点击监听器在 activity 内。
那么在这种情况下,如何在单击“确定”按钮时获得完整的已勾选项目列表?
如果您将适配器创建为 Activity 的实例变量,则您的 Activity 可以保存对适配器的引用。充分利用它。
当您检查或取消检查事物并在适配器中收到通知时,您可以跟踪集合中检查的事物或您喜欢的任何数据结构。当您点击 Activity 中的“确定”按钮时,您可以通过向适配器添加一个方法来询问您的适配器检查了什么,方法是 returns 此信息。
首先请记住,无论何时要实施,都需要创建 5 个文件。 创建一个 activity 其中包含
- layout xml file->add list view widget in this file
- java 文件-其中包含您要添加的列表
- 创建一个名为布局行 xml 的布局 xml 文件,其中包含您想要 show.In 您的案例在该文件中使用复选框和确定按钮的实际布局。
- 现在创建一个简单的 java bean class,它只包含 getter setter 方法和一个构造函数
- 创建一个扩展基本适配器的适配器 class,此适配器会扩充行 xml 文件的布局。
现在,如果显示复选框的条件被选中或不使用 ischecked() method.if checkbox 被选中,那么它将在 ok 按钮和里面放置一个 onclick listner 事件 activity 使用确定按钮的点击事件。
在 java bean class 中,如果复选框被选中,则它的值将为 true,如果复选框未被选中,则该值将为 false。