0

我的活动生命周期有问题。在我的服务器通信活动中,我正在从服务器下载项目列表,然后为 ListView 设置适配器。

一切都很好,但是如果我在这个屏幕上按下 Home 按钮并在一段时间后(例如 3 小时或更长时间)通过应用程序管理器返回屏幕,应用程序就会崩溃。问题出在 onTextChanged() 方法(这对于通过 EditText 搜索很有用)我再次调用 setAdapter() 方法。有 nullPointerException 因为我的数组以某种方式被删除了。

为什么恢复过程中会再次调用 onTextChanged() 方法?为什么阵列被擦除了?

谢谢您的帮助。

4

2 回答 2

0

请查看活动生命周期图:
https ://developer.android.com/reference/android/app/Activity.html

按 Home 后,您的 Activity 会进入暂停状态。
并且在3小时甚至更短的时间后,它可能会被系统杀死以进行资源管理。
所以它需要在下次启动时再次创建。

我认为您应该添加代码来处理onDestroy()onStop().

在此处输入图像描述

于 2013-05-11T16:02:20.733 回答
0

以与最初相同的方式检索数据,方法是覆盖

onResume() 

方法,预先检查数据是否存在。

于 2013-05-11T16:16:44.443 回答