java - 由于 Activity 重新创建,Progressdialog 无法被解雇

标签 java android android-activity dialog

我有一个对话框,它在 Activity 创建期间加载 syas,稍后在可运行的代码中有一个 dialog.dismiss。 现在,在 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();

最佳答案

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

在尝试再次创建它之前,您应该检查 dialog 是否为 null。此外,请记住在 Activity 调用 onDestroy 时关闭它。

关于java - 由于 Activity 重新创建,Progressdialog 无法被解雇,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40808144/

相关文章:

java - 无法更改MySQL字符集utf8,一旦停止/启动服务器,它保持不变

android - 如何在没有填充的情况下在android中获得准确的命中矩形?

android - SurfaceView 实现 Runnable - 线程不启动

android - 新的 Android Studio Activity 设计模式 content_main.xml

android - Activity 组抛出 ActivityNotFoundException?

java - jsp:param编码问题

java - 在java中的类之间共享更新数据的最佳方式

java - 如何在 thymeleaf 的 onClick 方法中设置链接?

java - 无法在 Android Studio 中编辑库的源代码

Android 未捕获且无白屏