我有一个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)
我不认为代码有多大帮助,这就是为什么我没有首先发布它。
答案 0 :(得分:0)
尝试添加
android:configChanges="keyboardHidden|orientation|screenLayout"
到你的清单文件。崩溃是锁定屏幕启动时活动重启的结果。锁定屏幕强制纵向方向,如果您还没有准备好处理它,那么您的应用程序可能会崩溃。
如果不这样做,请尝试覆盖onRetainNonConfigurationInstance()。
有关如何保留对象的信息,请参阅此帖子:How to save lot of object in onRetainNonConfigurationInstance() in android
另请阅读此android-group thread以了解设备进入睡眠状态时会发生什么。