onSaveInstanceState错误后,Android应用程序无法执行此操作
嗨,我正在开发android应用程序,其中我使用的是actionbar Sherlock。我的应用程序包含一个主要活动,其中有3个片段和3个选项卡。我的第一个选项卡显示列表视图,如果我单击列表项,它将打开新的详细信息活动。因此,当我关闭“详细信息”活动时,我希望自动切换到另一个选项卡 所以我的代码看起来像onSaveInstanceState错误后,Android应用程序无法执行此操作,android,fragment,savestate,Android,Fragment,Savestate,嗨,我正在开发android应用程序,其中我使用的是actionbar Sherlock。我的应用程序包含一个主要活动,其中有3个片段和3个选项卡。我的第一个选项卡显示列表视图,如果我单击列表项,它将打开新的详细信息活动。因此,当我关闭“详细信息”活动时,我希望自动切换到另一个选项卡 所以我的代码看起来像 public void onListItemClick(ListView l, View v, int position, long id) { super.onListIte
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Intent intent = new Intent(getActivity(), CardDetails1.class);
startActivityForResult(intent, 7);
}
关于我正在做的活动结果:
@Override @SuppressLint("NewApi")
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 7)
{
getActivity().getActionBar().setSelectedNavigationItem(2);
}
}
但当我点击back时,会出现以下错误
08-08 10:36:58.149: E/AndroidRuntime(7351): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=131079, result=0, data=null} to activity {com.example.sample/com.ecample.sample.LeftAndRightActivity}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
08-08 10:36:58.149: E/AndroidRuntime(7351): at android.app.ActivityThread.deliverResults(ActivityThread.java:3398)
08-08 10:36:58.149: E/AndroidRuntime(7351): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3448)
08-08 10:36:58.149: E/AndroidRuntime(7351): at android.app.ActivityThread.access$1100(ActivityThread.java:139)
08-08 10:36:58.149: E/AndroidRuntime(7351): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
08-08 10:36:58.149: E/AndroidRuntime(7351): at android.os.Handler.dispatchMessage(Handler.java:99)
08-08 10:36:58.149: E/AndroidRuntime(7351): at android.os.Looper.loop(Looper.java:156)
任何有解决办法的人。我需要帮助。多谢各位 使用:
transaction.commitAllowingStateLoss()代码>
添加或执行导致异常的碎片事务时