2015-10-09 108 views
0

以下链接解决了类似的问题:Getting the error "Java.lang.IllegalStateException Activity has been destroyed" when using tabs with ViewPager收到错误“Java.lang.IllegalStateException活动已被破坏”时,改变标签

但我并不在我的应用程序中使用viewpager,当我更换出现我的问题片段的onStop()方法后的片段。我知道它不应该这样做。 http://www.androiddesignpatterns.com/2013/08/fragment-transaction-commit-state-loss.html

所以我的问题是:我该如何解决这个问题?

这是我的代码,下面的代码是在AsynTask所以当我改变标签时,这种情况出现片段'onStop将在下面的代码之前使用方法。

ErrorFragment errorFragment = new ErrorFragment(); 
Bundle bundle = new Bundle(); 
bundle.putInt("layoutId", R.layout.errorfragment_mycourse_empty); 
errorFragment.setArguments(bundle); 
transaction.add(R.id.framelayout_mycoursestudied, errorFragment); 
transaction.commitAllowingStateLoss();//error code 
+0

“我知道它不应该做” – e4c5

+0

但如何在这种情况下编码?数据有两个不同的条件,1:当然2.是空的。所以它会有两个布局。 – Iturbo

回答

-1

我的解决方案是在xml中使用EmptyLayout(定义你自己)。如果有两个或两个以上的条件,请显示EmptyLayout,当它有内容(当然)时隐藏EmptyLayout

相关问题