Android 滑动菜单示例不工作:java.lang.IllegalStateException:RandomList必须附加到SherlockFragmentActivity
我从下载了滑动菜单库和Actionsbarsherlock,我从中找到了它的示例,它有一个YouTube视频来显示工作。我遵循了所有的步骤,但是当我运行代码时,它会给我一些提示Android 滑动菜单示例不工作:java.lang.IllegalStateException:RandomList必须附加到SherlockFragmentActivity,android,exception,sliding,slidingmenu,Android,Exception,Sliding,Slidingmenu,我从下载了滑动菜单库和Actionsbarsherlock,我从中找到了它的示例,它有一个YouTube视频来显示工作。我遵循了所有的步骤,但是当我运行代码时,它会给我一些提示 05-28 15:41:21.665: E/AndroidRuntime(2023): FATAL EXCEPTION: main 05-28 15:41:21.665: E/AndroidRuntime(2023): java.lang.RuntimeException: Unable to start activi
05-28 15:41:21.665: E/AndroidRuntime(2023): FATAL EXCEPTION: main
05-28 15:41:21.665: E/AndroidRuntime(2023): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.rufflez.slidingmenuexample/com.rufflez.slidingmenuexample.MainActivity}: java.lang.IllegalStateException: RandomList must be attached to a SherlockFragmentActivity.
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.app.ActivityThread.access$600(ActivityThread.java:123)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.os.Handler.dispatchMessage(Handler.java:99)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.os.Looper.loop(Looper.java:137)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.app.ActivityThread.main(ActivityThread.java:4424)
05-28 15:41:21.665: E/AndroidRuntime(2023): at java.lang.reflect.Method.invokeNative(Native Method)
05-28 15:41:21.665: E/AndroidRuntime(2023): at java.lang.reflect.Method.invoke(Method.java:511)
05-28 15:41:21.665: E/AndroidRuntime(2023): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
05-28 15:41:21.665: E/AndroidRuntime(2023): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
05-28 15:41:21.665: E/AndroidRuntime(2023): at dalvik.system.NativeStart.main(Native Method)
05-28 15:41:21.665: E/AndroidRuntime(2023): Caused by: java.lang.IllegalStateException: RandomList must be attached to a SherlockFragmentActivity.
05-28 15:41:21.665: E/AndroidRuntime(2023): at com.actionbarsherlock.app.SherlockListFragment.onAttach(SherlockListFragment.java:25)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:867)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:551)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1133)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.app.Activity.performStart(Activity.java:4475)
05-28 15:41:21.665: E/AndroidRuntime(2023): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1929)
05-28 15:41:21.665: E/AndroidRuntime(2023): ... 11 more
不知道为什么会出现错误,我还添加了两个库
我分两步解决了这个问题:
actionbarsherlock
库添加到SlidingMenu
库中com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity
并从SherlockFragmentActivity
问题:
java.lang.IllegalStateException: RandomList must be attached to a SherlockFragmentActivity
解决方案:
java.lang.IllegalStateException: RandomList must be attached to a SherlockFragmentActivity
你需要扩展Sherlock的活动
参考资料:
java.lang.IllegalStateException: RandomList must be attached to a SherlockFragmentActivity
看看,
阅读《如何将此库集成到项目中》一节中步骤2的最后一点
如果要使用另一个库,如ActionBarSherlock,只需更改滑动活动,即可扩展Sherlock活动,而不是常规活动
解释:
java.lang.IllegalStateException: RandomList must be attached to a SherlockFragmentActivity
如上图截图所示
滑动活动扩展Sherlock活动
同样,需要进行以下更改:
- SlidingListActivity extends SherlockListActivity
- SlidingFragmentActivity extends SherlockFragmentActivity
- SlidingPreferenceActivity extends SherlockPreferenceActivity
注意:
不要忘记将actionbar夏洛克
库添加到您的滑动菜单库中,以访问sherlock活动
我希望这会有帮助 您在运行库示例或在自己的项目中使用此库时遇到困难吗?在示例中,首先测试示例。这对我来说正是正确的答案。我觉得奇怪的是,说明书要求你修改刚刚下载的库,但你就在这里。谢谢你的提示@彼得·勒克:我很乐意帮忙!!