在切换内容视图时,Android ListView不显示新添加的项目和删除旧项目

时间:2012-12-27 15:33:44

标签: java android listview

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

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

之后

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

尝试解决方法失败

我使用另一个数组来保存新添加的项目,然后在ListView再次可见时尝试添加它们。我不得不覆盖onContentChanged()来执行此操作,但之后仍然没有添加任何项目。

所以主要问题是

如果将项目动态添加到ListView,即使它不在视线范围内并且仍然保留旧项目,我该怎么办?

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:-1)

动态添加项目:

//add at the top of the list
mListView.addHeaderView(itemView);
// add at the bottom of the list
mListView.addFooterView(itemView);