我在xml布局文件中定义了一个自定义列表视图。我可以通过数组适配器在ListView方法中添加项。
但是,当我从另一个内容视图中添加项,然后使用ListView返回到content视图时,所有项目都消失了,没有列出任何内容。即使在调用.notifyDataSetChanged();
之后
似乎只有在当前显示包含ListView的content视图时,我才能添加到列表中。这是默认行为吗?
试图解决问题失败
我使用另一个数组来保留新添加的项,然后尝试在ListView再次可见时添加它们。为了这样做,我不得不重写onContentChanged()
,但是仍然没有添加任何项。
所以主要的问题是
我如何动态地将项添加到ListView,即使它已经消失,并且仍然保留旧的项?
PS:我不得不说,Android是我遇到过的最糟糕的之一。
发布于 2012-12-27 08:18:26
如果您更改了content视图,那么前面的所有视图都将被销毁。你在用适配器吗?如果是这样的话,那么再一次将所有项目添加到列表中是非常容易的。
除了在setContentView之外,任何时候都不应该有任何理由使用onCreate。
如果您希望有多个屏幕,而不是更改内容视图,那么就启动一个新的活动。
发布于 2012-12-27 07:39:46
动态添加项:
//add at the top of the list
mListView.addHeaderView(itemView);
// add at the bottom of the list
mListView.addFooterView(itemView);
https://stackoverflow.com/questions/14057134
复制