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

我怀疑你把showDialog(DIALOG_LOADING);inonResume()回调。onResume()这是屏幕解锁后显示对话框的最可能原因。

于 2012-07-04T03:31:50.127 回答
0

我不能 100% 肯定地说,但我认为这与调试有关。对于为生产而编译的应用程序,我从来不喜欢它。

于 2012-08-24T06:43:51.150 回答