0

我已经在我的应用程序中设置了自定义水平分页,比如说 5 页。每个页面都有自己的 ListView 和 ListView Adapter。在我的主 Activity 类中,我有一个自定义对象的 ArrayList,我用它来补充每个 ListView。

所以在我的主要课程中,我可以调用:

lvAdapter.setItems(items);

工作正常。

但是当我打电话时:

lvAdapter.clearItems();

我只希望它清除 ListView 中的项目,但它实际上从我的 ArrayList 中删除了该对象的所有项目。我想适配器只持有一个参考?

适配器 clearItems:

public void clearItems()
{
      this.items.clear();  //this will remove the object in the ArrayList
      this.notifyDataSetChanged();
}

我正在尝试做的是在活动可见页面上设置项目并为那些不可见的页面设置清除项目。因为当我一次加载所有页面时,我正在处理内存不足的崩溃......

4

1 回答 1

1

您可以清除适配器参考,ListView例如listView.setAdapter(null)

我还将阅读有效的Adapter实现,您可以做几件事来减少内存占用,例如正确回收视图getView(...)

于 2012-07-18T15:01:47.333 回答