在下面的 onloadfinished 方法中,我试图在结果为空时打开一个对话框片段。但是它给了我错误,而打开警报对话框可以正常工作。
java.lang.IllegalStateException: Can't perform this action inside of onLoadFinished
这个错误在这里说明了什么:
@Override
public void onLoadFinished(Loader<Map<String, Integer>> arg0,
Map<String, Integer> result) {
if (result == null) {
/*netEMessage();
* At this place i was calling alert dialog before but Now calling Dialog in onload finished gives me error*/
return;
}
}
private void netEMessage() {
NetowrkErrorDialog mErrorDialog = NetowrkErrorDialog.newInstance();
mErrorDialog.setStyle(DialogFragment.STYLE_NO_FRAME, android.R.style.Theme_DeviceDefault_NoActionBar_Fullscreen);
mErrorDialog.setCancelable(false);
mErrorDialog.show(mOrderActivity.getSupportFragmentManager(), "networkerror");
}
完成 logcat 错误
0java.lang.IllegalStateException: Can not perform this action inside of onLoadFinished
1at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1331)
2at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1338)
3at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
4at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)
5at android.support.v4.app.DialogFragment.show(DialogFragment.java:127)
6at com.fss.pos.presentation.MenuFragment.netEMessage(MenuFragment.java:178)
7at com.fss.pos.presentation.MenuFragment.onLoadFinished(MenuFragment.java:144)
8at com.fss.pos.presentation.MenuFragment.onLoadFinished(MenuFragment.java:1)
9at android.support.v4.app.LoaderManagerImpl$LoaderInfo.callOnLoadFinished(LoaderManager.java:427)
10at android.support.v4.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManager.java:395)
11at android.support.v4.content.Loader.deliverResult(Loader.java:103)
12at android.support.v4.content.AsyncTaskLoader.dispatchOnLoadComplete(AsyncTaskLoader.java:221)
13at android.support.v4.content.AsyncTaskLoader$LoadTask.onPostExecute(AsyncTaskLoader.java:61)
14at android.support.v4.content.ModernAsyncTask.finish(ModernAsyncTask.java:461)
15at android.support.v4.content.ModernAsyncTask.access$500(ModernAsyncTask.java:47)
16at android.support.v4.content.ModernAsyncTask$InternalHandler.handleMessage(ModernAsyncTask.java:474)
17at android.os.Handler.dispatchMessage(Handler.java:99)
18at android.os.Looper.loop(Looper.java:137)
19at android.app.ActivityThread.main(ActivityThread.java:5041)
20at java.lang.reflect.Method.invokeNative(Native Method)
21at java.lang.reflect.Method.invoke(Method.java:511)
22at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
23at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
24at dalvik.system.NativeStart.main(Native Method)