活动片段清除了什么索引:-1表示我该如何解决?

时间:2013-03-20 19:58:13

标签: android android-fragments

我有一个带有自定义滑动菜单的Activity,用于类似于标签的界面。出于某种原因,我的一个(并且只有一个)片段出现了这个错误,我似乎无法找到它正在做的事情。

这是堆栈跟踪。

E/FragmentManager(13024): Failure saving state: active SettingsFragment{427b2918} has cleared index: -1
E/FragmentManager(13024): Activity state:
E/AndroidRuntime(13024): FATAL EXCEPTION: main
E/AndroidRuntime(13024): java.lang.IllegalStateException: Failure saving state: active SettingsFragment{427b2918} has cleared index: -1
E/AndroidRuntime(13024):    at android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:1700)
E/AndroidRuntime(13024):    at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:527)
E/AndroidRuntime(13024):    at com.actionbarsherlock.app.SherlockFragmentActivity.onSaveInstanceState(SherlockFragmentActivity.java:127)
E/AndroidRuntime(13024):    at com.slidingmenu.lib.app.SlidingFragmentActivity.onSaveInstanceState(SlidingFragmentActivity.java:50)
E/AndroidRuntime(13024):    at com.client.activities.BaseMenuActivity.onSaveInstanceState(BaseMenuActivity.java:139)

片段非常简单。它所做的只是子类SherlockFragment并覆盖onCreateView和onActivityCreated来设置视图。它有一些导航到其他片段的按钮。

我甚至无法可靠地重现此错误。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,我猜你何时想要附加你的片段,它就像我的代码一样

       case 2:
            ft.replace(R.id.content_frame, **xxxx**, "2");
            ft.detach(**yyyyyyy**);
            ft.attach(**yyyyyyy**);

下面的代码是错误的,正确的代码是

         case 2:
            ft.replace(R.id.content_frame, **xxxx**, "2");
            ft.detach(**xxxx**);
            ft.attach(**xxxx**);

也许你有这样的错误,我希望它对你有所帮助