首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android ListActivity -切换空列表和非空列表

Android ListActivity -切换空列表和非空列表
EN

Stack Overflow用户
提问于 2012-01-29 04:10:51
回答 2查看 168关注 0票数 1

给定下面的xml文件,我想在对象列表不为空时显示ListView,在列表为空时显示ViewStub。我可以让它工作,但每当我改变屏幕方向时,我就会丢失添加到列表中的新数据。

基本上,每当我添加一个新对象时,我都会调用适配器的changeData()方法,该方法更改对象列表并调用方法notifyDataSetChanged()。关于如何确保此更改在所有视图中持续存在,有什么建议吗?

( XML中还有更多内容,但这是不相关的):

代码语言:javascript
运行
复制
    <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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-29 04:21:09

您必须使用onCreate()方法中提供的savedInstanceState Bundle来维护屏幕状态。每次更改屏幕方向时,都会调用onCreate()

下面是一个示例:[CLICK]

票数 2
EN

Stack Overflow用户

发布于 2012-01-29 08:53:43

您将数据保存在哪里?问题似乎是,当你的活动被破坏时,你在任何地方都没有坚持下去。你的活动可能会在方向改变时被破坏,但当你在后台,系统内存不足时,也可能发生这种情况。

我建议您将数据保存在onPause、onStop或onDestroy调用中的某个位置,然后在相应的onResume、onStart或onCreate中重新加载它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9048203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档