【问题标题】:Navigation drawer 2.3 gingerbread导航抽屉 2.3 姜饼
【发布时间】:2014-01-09 21:27:17
【问题描述】:

我正在尝试在我的 android 应用中实现抽屉式导航。我使用了本教程:http://manishkpr.webheavens.com/android-navigation-drawer-example-using-fragments/ 它显示了使用片段实现导航抽屉。但是当我尝试在 API 10 (Gingerbread) 上运行它时,我的应用程序强制关闭了

但它仅适用于 3.0 Honeycomb+。如何让它在 2.3 Gingerbread+ 和全屏模式下工作。请问我需要帮助!

提前致谢!

堆栈跟踪

01-09 16:01:07.971  16470-16470/com.Chinmay.navigationdrawer E/AndroidRuntime﹕ FATAL     EXCEPTION: main
    java.lang.NoSuchMethodError: com.Chinmay.navigationdrawer.MainActivity.getActionBar
    at com.Chinmay.navigationdrawer.MainActivity.onCreate(MainActivity.java:25)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3687)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
    at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

  • 请为崩溃添加您的堆栈跟踪。
  • 在问之前先google一下..看看这个developer.android.com/training/implementing-navigation/…
  • 尝试使用在较低版本中也支持此功能的操作栏 Sherlock。你可以找到演示here
  • 我用谷歌搜索了它,但没有得到很好的答案,这就是我在这里问它的原因。我是初学者,如果我犯了任何错误,请原谅我。
  • 请检查我编辑的问题

标签: android android-fragments android-navigation


【解决方案1】:

导航抽屉不适用于 Android 2.3 Gingerbread。您必须使用 AppCompat 支持库才能在旧版本上使用 Navigation Drawer。有很好的教程here

【讨论】:

    【解决方案2】:

    预蜂窝没有ActionBar 可用。这就是为什么您的应用在调用 getActionBar() 时崩溃的原因。

    您必须使用支持库中的 SherlockActionbar 库或 ActionbarCompat。如果您使用其中之一,请将调用更改为 getSupportActionBar()

    【讨论】:

    • 有什么方法可以实现不使用操作栏的抽屉式导航?基本上我不想要操作栏,因为我的应用程序水平使用全屏模式!请提出建议和帮助。
    • @ChinmayDabke ActionBar 的 AppIcon 用于打开/关闭 NavigationDrawer。不需要进一步的功能。如果没有 ActionBar,您可以使用滑动手势打开抽屉,或者您可以添加任何按钮来打开/关闭抽屉。 AppIcon 只是交互的标准方式。
    • 所以我也可以在水平方向使用全屏模式的导航抽屉吗?谢谢史蒂夫!
    【解决方案3】:

    您正在调用 API 级别 11 中添加的 getActionBar()。 您需要扩展 SherlockActivity 或使用兼容性库,然后调用 getSupportActionBar() 以解决此问题。

    【讨论】:

    • 有什么方法可以实现不使用操作栏的抽屉式导航?基本上我不想要操作栏,因为我的应用程序水平使用全屏模式!请提出建议和帮助。
    猜你喜欢
    • 1970-01-01
    • 2014-01-19
    • 2021-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多