我有一个对话框,其中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();
答案 0 :(得分:2)
每次调用onCreate时,行ProgressDialog.show()
都会返回一个新的ProgressDialog引用。
在尝试再次创建dialog
之前,您应该检查它是否为空。另外,请记住在活动调用onDestroy
时将其关闭。