【发布时间】:2013-05-23 13:49:03
【问题描述】:
)
我找到了一个关于在 android 中使用 ListView 的教程。但我有一个问题。教程在这里:
http://www.vogella.com/articles/AndroidListView/article.html#listadvanced_interactive
您必须滚动到第 13.2 节。
本教程的想法是一方面你有一个 ListView(每个项目中都有复选框),另一方面你有一个 ArrayList(ArrayList 的项目是对象,其中包含显示在ListView 的项目,例如 CheckBox 检查与否、文本等)。适配器应该保持两者相等。如果你改变了 ArrayList,ListView 也会改变。
但是现在我的问题。如果用户触摸列表中的一项,适配器将调用方法“onCheckedChanged”。但是那里发生了什么?一个对象将在那里创建并从 CheckBox 中获取一个标签。好的。现在方法完成了。垃圾收集器会销毁对象还是不销毁?我什么时候需要在我的活动中从那里获得这些信息。想象一下,我的列表下方有一个“删除”按钮。所以我必须将这些信息从适配器的侦听器传输到我的 Activity。如何确保在每个类中使用相同的 ArrayList 和正确的信息?
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
Model element = (Model) viewHolder.checkbox
.getTag();
element.setSelected(buttonView.isChecked());
}
我希望你明白我的意思。能给我解释一下吗?
对不起,我的母语不是英语。
再见
【问题讨论】:
标签: android listview listadapter