我在打开一个新 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/