0

我在我的 xml 布局文件中定义了一个自定义列表视图。onCreate我可以通过数组适配器将项目添加到这个 ListView 内部方法。

但是,当我从另一个内容视图添加项目然后返回到具有 ListView 的内容视图时,所有项目都消失了,并且没有列出任何内容。即使打电话后.notifyDataSetChanged();

似乎我只能在当前显示包含 ListView 的内容视图时添加到列表中。这是默认行为吗?

尝试解决方法失败

我使用另一个数组来保留新添加的项目,然后在 ListView 再次可见时尝试添加它们。我不得不重写onContentChanged()这样做,但仍然没有添加任何项目。

所以主要问题是

即使它看不见并且仍然保留旧项目,我如何动态地将项目添加到 ListView?

PS:我不得不说 Android API 是我遇到过的最糟糕的 API 之一。

4

2 回答 2

1

如果您更改内容视图,那么之前的所有视图都将被销毁。你在使用适配器吗?如果是这样,那么将所有项目再次添加到列表中将非常容易。

除了在 onCreate 之外,不应该有任何理由在任何时候设置内容视图。

如果您希望拥有多个屏幕,而不是更改内容视图,请开始一个新活动。

于 2012-12-27T16:18:26.653 回答
-1

动态添加项目:

//add at the top of the list
mListView.addHeaderView(itemView);
// add at the bottom of the list
mListView.addFooterView(itemView);
于 2012-12-27T15:39:46.213 回答