私は奇妙な状況があります。Android:ダイアログが開いているときにアクティビティを閉じる
私は、ダイアログ育て、その後、データベースからいくつかの情報を読んでいます:あなたは、それはまた、それを使用することができますので、私はダイアログにDBaseManagerを渡す見ることができるように 擬似
val = DBaseManager.readValue(i,POS_ONE);
if(val == 1)
{
Dialog_Test myDialog = new
Dialog_Test (myContext,"",new addListener(),DBaseManager);
myDialog.show();
}
を。
そこに私はこのようにそれを使用します。
DBaseManager.readValue(k,POS_TWO);
など
今、これは、しかし、私はとのダイアログでこれらの行を指して、いくつかのクラッシュログを持っていた、時間の99%を働きますnullポインタ例外。
これは、一部のデバイスで、私のonPauseまたはOnDestoryメソッドが、DBaseManagerをクローズしヌルするメインアクティビティで呼び出されていることを示しています。これらは、1.6,2.2、および2.3のデバイスです。
だから質問はなぜ、どのように防止するのですか?私はクラッシュを防ぐためにいくつかのヌルポインタチェックを追加しましたが、それはまだ理想から遠いです。
UPDATE:私のデバイスでは、少なくとも画面を回転するとアクティビティが再開され、ダイアログが消えます。
ありがとうございます、私はそれが大型オブジェクトがクリーンアップされている2番目のケースだと思います。私はすべてを上書きしましたが、現場でしか起こっていないことを再現することはできません。私は、utilルーチンを作成して、提案されているように再オープンして取得すると思います。 – Chris
同じこと...私は再現できず、全く同じタイプの振る舞いで自分のテストで見たことのないバグレポートをフィールドから取得します。厄介なもの。笑 – Rich