Android ListActivity - 在空列表和非空列表之间切换
问题描述:
鉴于我的xml文件如下,我想在我的对象列表不为空时显示ViewStub
。我可以得到这个工作,但是每当我改变屏幕方向时,我都会丢失添加到列表中的新数据。Android ListActivity - 在空列表和非空列表之间切换
基本上,任何时候我添加一个新的对象,我调用我的适配器的changeData()方法,它改变对象列表并调用方法notifyDataSetChanged()
。有关如何确保此更改在所有视图中持续存在的建议?
(还有更多的XML,但它无关):
<ListView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_weight="1"
android:id="@android:id/list"></ListView>
<ViewStub android:id="@android:id/empty"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout="@layout/empty" />
</FrameLayout>
答
你在哪里保存数据?问题似乎是,当你的Activity被破坏时,你并没有将它保存在任何地方。您的活动可能会在方向更改中被破坏,但是当您处于后台并且系统内存不足时也会发生这种情况。
我建议您将数据保存在onPause,onStop或onDestroy调用中的某个位置,然后将其重新加载到相应的onResume,onStart或onCreate中。
我把它加入这个我AndroidManifest 工作 – JDelonge 2012-01-28 20:52:56
不错,但我ANS适合乌尔真正的概率。 – 2012-01-28 20:57:42
将configChanges的东西添加到清单是一个快速和肮脏的工作,并没有真正解决您的问题。 – SeanPONeil 2012-01-28 21:05:14