0

我有一个使用另外两个类的 Activity 类;其中一个扩展 ImageView 和一个扩展 BaseAdapter ,如下所示: 像这样

我的 ImageView 类在被调用时会取得一些进展,当我第一次启动它时,它会按照我的意愿进行操作。如果我按下主页按钮然后恢复,情况也是如此。但是由于某种原因,如果我从待机模式恢复它就不起作用。(按下手机上使屏幕变暗的按钮)当我解锁手机时它崩溃了。它在 nullPointerException 上崩溃,当我尝试在 BaseAdapter 定义的 GridView 上调用 getChildAt() 时,我可以读到它。

有什么方法可以让应用程序在我按下主页按钮时执行相同的操作,就像我将手机设置为待机模式时一样?编辑:

public MyCustomDefinedImageViewClass (Context context) {
super (context);
mContext = context;
    MyCustomDefinedImageViewClass someThing =(MyCustomDefinedImageViewClass)gridViewIGetTheChildFrom.getChildAt(some int);

这就是导致我崩溃的原因:

 11-19 22:00:48.200: E/AndroidRuntime(6252):     at my.package.name.MyCustomDefinedImageViewClass.<init>(MyCustomDefinedImageViewClass.java:57)

我不认为代码有多大帮助,这就是为什么我没有首先发布它。

4

1 回答 1

0

尝试添加

android:configChanges="keyboardHidden|orientation|screenLayout"

到您的清单文件。崩溃是锁定屏幕出现时活动重新启动的结果。锁定屏幕强制纵向,如果您还没有准备好处理它,那么您的应用程序可能会崩溃。

如果这样做不行,请尝试覆盖onRetainNonConfigurationInstance()

有关如何保留对象的信息,请参阅此帖子:How to save lot of object in onRetainNonConfigurationInstance() in android

另请阅读此android-group 线程以了解设备进入睡眠状态时会发生什么。

于 2012-11-21T15:20:11.780 回答