0

電話がしばらくロックされてからロックが解除された後、すでに閉じられたダイアログが再び表示されることをすでに数回観察しました。これは、常にではなく、たまに発生します。

私が使用するコードは非常に簡単です:

showDialog(DIALOG_LOADING);
new AsyncTask<Void, Void, PhotoList>(){
    @Override
    protected PhotoList doInBackground(Void... params) {
        // load and return data
    }

    protected void onPostExecute(PhotoList result) {
        dismissDialog(DIALOG_LOADING);
        // display data
    }
}.execute();
....
@Override
protected Dialog onCreateDialog(int id) {
    Log.d(TAG, "onCreateDialog");
    switch(id){
    case DIALOG_LOADING:
        return ProgressDialog.show(this, null, "Loading. Please wait...", true);
    default:
        return super.onCreateDialog(id);
    }
}

ダイアログが表示され、データがロードされ、ダイアログが閉じられます。これまでのところ、電話がしばらくロックされていて、もう一度ロックを解除した後にダイアログが再び表示されるだけです。

なぜそれが起こる可能性があるのですか?

ありがとう
サイモン

4

2 に答える 2

0

100%確実とは言えませんが、これはデバッグに何らかの関係があったと思います。本番用にコンパイルされたアプリでは、私には決して起こりません。

于 2012-08-24T06:43:51.150 に答える
0

コールバックを入れたと思わshowDialog(DIALOG_LOADING);onResume()ます。onResume()これが、画面のロック解除後に呼び出されるようにダイアログが表示される最も可能性の高い理由です。

于 2012-07-04T03:31:50.127 に答える