我看到一种奇怪的情况。Android:在对话框中关闭活动
我读从数据库的一些信息,然后将弹出一个对话框: 伪
val = DBaseManager.readValue(i,POS_ONE);
if(val == 1)
{
Dialog_Test myDialog = new
Dialog_Test (myContext,"",new addListener(),DBaseManager);
myDialog.show();
}
,你可以看到我传递到对话框中DBaseManager所以它也可以使用它。
然后在那里我用这样的:
DBaseManager.readValue(k,POS_TWO);
等
现在这个工程的99%的时间,但是我有一些指向这些行对话框,在崩溃日志空指针异常。
对我来说,这表明在某些设备上,我的onPause或OnDestory方法在主要活动中被调用,该活动会关闭并消除DBaseManager。这些是1.6,2.2和2.3的设备。
所以问题是为什么,以及如何预防?我已经添加了一些空指针检查来防止崩溃,但它仍然很不理想。
UPDATE:在我的设备上,至少当我做一个屏幕旋转活动重新启动,对话框消失 - 它可能会在一些对话框上保持?
谢谢,我认为这是清理大物体的第二种情况。我已经覆盖了所有内容,但无法重现它只发生在现场。我想我会创建一个util例程,按照建议重新打开它。 – Chris 2011-01-14 16:21:27