在我的应用程序中,我使用actionbar.navigation\ mode\ tabs。我有一个片段,叫做tripfragment,它包含一个标签。有时我还使用dialogfragments通知用户一些事情,我不希望这些片段在屏幕旋转时消失。所以我使用以下代码:
tripframent.java文件:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
主活动.java
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
使用这段代码时,当我使用actionbar.setselectednavigationitem时,总是会出现异常。这是堆栈跟踪。
01-15 13:42:20.085:e/androidruntime(2158):致命异常:main 01-15 13:42:20.085:e/androidruntime(2158):java.lang.illegalstateexception:在onsaveinstancestate之后无法执行此操作状态01-15 13:42:20.085:e/androidruntime(2158):在android.app.fragmentmanagerimpl.checkstateloss(fragmentmanager)。java:1267) 01-15 13:42:20.085: e/androidruntime(2158):在android.app.fragmentmanagerimpl.enqueueaction(fragmentmanager。java:1278)01-15 13:42:20.085:e/androidruntime(2158):在android.app.backstackrecord.committenternal(backstackrecord。java:541)01-15 13:42:20.085:e/androidruntime(2158):在android.app.backstackrecord.commit(backstackrecord。java:525) 01-15 13:42:20.085: e/androidruntime(2158):在com.android.internal.app.actionbarimpl.selecttab(actionbarimpl。java:523)01-15 13:42:20.085:e/androidruntime(2158):在com.android.internal.app.actionbarimpl.setselectednavigationitem(actionbarimpl。java:306)01-15 13:42:20.085:e/安德鲁尼时间(2158):在com.componentix.eurotaxi.tripfragment.gotoselectedpage(tripfragment。java:510)01-15 13:42:20.085:e/androidruntime(2158):访问com.componentix.eurotaxi.tripfragment\u6美元(tripfragment)。java:1)01-15 13:42:20.085:e/androidruntime(2158):网址:com.componentix.eurotaxi.tripfragment_u23.run(tripfragment)。java:457) 01-15 13:42:20.085: e/androidruntime(2158):在android.os.handler.handlecallback(handler。java:608)01-15 13:42:20.085:e/androidruntime(2158):在android.os.handler.dispatchmessage(handler。java:92)01-15 13:42:20.085:e/androidruntime(2158):在android.os.looper.loop(looper。java:156)01-15 13:42:20.085:e/安德鲁尼时间(2158):在android.app.activitythread.main(活动线程。java:4987)01-15 13:42:20.085:e/androidruntime(2158):在java.lang.reflect.method.invokenactive(本机方法)01-15 13:42:20.085:e/androidruntime(2158):在java.lang.reflect.method.invoke(方法)。java:511)01-15 13:42:20.085:e/安德鲁尼时间(2158):在com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit。java:784)01-15 13:42:20.085:e/androidruntime(2158):网址:com.android.internal.os.zygoteinit.main(zygoteinit。java:551)01-15 13:42:20.085:e/androidruntime(2158):在dalvik.system.nativestart.main(本机方法)
我试图在mainactivity中注解对super()的调用。它例外地停止了,但是我的对话片段开始在屏幕旋转时消失。那我该怎么办?
暂无答案!
目前还没有任何答案,快来回答吧!