java - progressDialog 在 fragment 打开之前被关闭

标签 java android fragment progressdialog

我在打开一个新 fragment 后尝试关闭 ProgressDialog 时遇到了一些问题。这是我的代码:

        ProgressFragment progressDialog = new ProgressFragment();
        progressDialog.setProgressMessage("Sending command, please wait.");
        progressDialog.show(fragment.getFragmentManager(), null);
        Handler handler = new Handler();
        handler.postDelayed(() -> {
            if (true) {
                ResultFragment resultFragment = new ResultFragment_();
                resultFragment.show(getFragmentManager(), null);
                progressDialog.dismiss();
            }
            else{
                // show error toast
            }
        }, 5000);

使用上面的代码,progressDialog 在新 fragment 打开之前被关闭。有什么方法可以设置它以便打开新 fragment ,然后关闭进度对话框。

谢谢!

最佳答案

非常简单的想法是通过处理程序将消息发送到 Activity 并关闭进度对话框。喜欢,

fragment OnCreate

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

   Message msg = new Message();
   msg.what = 1223;
   Activity1.mHandler.sendMessage(msg);

}

在 Activity 中

 public static Handler mHandler = new Handler(new Handlercontext.Callback() {
    @Override
    public boolean handleMessagegetClass(Message msg) {

     if(msg.what == 1223){
          progressDialog.dismiss();
     }

     return false;
    }
});

关于java - progressDialog 在 fragment 打开之前被关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51147148/

相关文章:

javascript - 如何使用 Phonegap 打开 Twitter 和 Facebook 应用程序?

java - IDEA 9 中接口(interface)名称的快速修复中没有 "implement interface"选项,并且不知道如何恢复它

java - 如何计算服务帐户的 OAuth 签名?

java - 执行 "sbt run"时,没有通过 scalalogging 显示任何信息消息

java - ORMLite JDBC 连接 MySQL 时出错

android - 什么时候应该调用 removeStickyEvent(...)?

android - java.lang.IllegalArgumentException : contains a path separator

java - 尽管我下载了 jar 文件,但我无法导入改造 RestAdapter

android - 获取错误 : fragment already added?

android - 如何在单个 Activity 中添加操作栏和工具栏?