)
我找到了一个关于在 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());
}
我希望你知道我的意思。你能给我解释一下吗?
对不起语言,但英语不是我的母语。
再见