由于活动重新创建,Progressdialog未能被解雇

时间:2016-11-25 15:24:11

标签: java android android-activity dialog

我有一个对话框,其中syas在Activity创建期间加载,而dialog.dismiss后来在runnable中的代码中。 现在,在Activity onCreate的某个点上,我的Activity被重新创建以获取有关所请求权限的信息。问题是dialog.dismiss没有在runnable中被触发。该对话框永远不会被解雇。

 dialog = ProgressDialog.show(TripActivity.this, "", "Loading...");

final Handler handler1 = new Handler();

                handler1.post(new Runnable() {
                    @Override
                    public void run() {

                   //     b=oldvalue;
                     //   mListener.doYourWork(id_share);
                        // Post again 16ms later.
                        handler1.postDelayed(this, 5000);


                        dialog.dismiss();

1 个答案:

答案 0 :(得分:2)

每次调用onCreate时,行ProgressDialog.show()都会返回一个新的ProgressDialog引用。

在尝试再次创建dialog之前,您应该检查它是否为空。另外,请记住在活动调用onDestroy时将其关闭。