【发布时间】:2013-09-03 04:44:31
【问题描述】:
- 我有一个 asyncTaks 做一些后台操作导致更新 UI
- 用户启动 Activity,并启动 AsyncTask 来做一些后台工作。
- 用户点击主页键离开应用程序。 onSaveInstanceState() 被调用。
- AsyncTask 完成,并尝试根据 onPostexecute() 的结果显示 DialogFragment 或 LoginFragment。
- 因为它在 onSaveInstance() 之后执行 FragmentTransaction。发生 IllegaeStateException。
- 为了处理登录片段,我调用了 commitAllowingStateLoss();而不是提交(); .它解决了登录片段的问题
我的问题是我应该为我的对话片段做些什么。
private void networkError(){
NetowrkErrorDialog mErrorDialog = NetowrkErrorDialog.newInstance();
mErrorDialog.setStyle(DialogFragment.STYLE_NO_FRAME, android.R.style.Theme_DeviceDefault_NoActionBar_Fullscreen);
mErrorDialog.setCancelable(false);
if(mErrorDialog.isVisible()==false){
mErrorDialog.show(mMainActivity.getSupportFragmentManager(), "networkerror");
}
}
【问题讨论】:
标签: android android-asynctask android-dialogfragment