导航抽屉在Android 2.3中不起作用

时间:2014-01-02 11:41:15

标签: android android-support-library android-2.3-gingerbread

我试过导航抽屉它在android 4.1中运行良好然后我尝试了姜饼,我添加了支持的库appcompat仍然我收到错误请帮帮我

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

4 个答案:

答案 0 :(得分:3)

使用getSupportActionBar(),它是getActionBar()的支持库版本。

要使用所有支持方法,您需要扩展ActionBarActivity类而不是Activity类。

答案 1 :(得分:0)

这是因为他们正在使用Actionbar,动作栏从3.0开始支持。为了支持2.3,他们需要使用sherlock动作栏。看到这个: http://actionbarsherlock.com/

答案 2 :(得分:0)

尝试使用ActionBar Sherlock。以下是一些很好的教程:http://www.androidbegin.com/tutorial/implementing-actionbarsherlock-side-menu-navigation-with-fragment-tabs-tutorial/

这可以帮助您看到ActionBarCompat和ActionBarSherlock之间的区别。Difference between ActionBarSherlock and ActionBar Compatibility

答案 3 :(得分:-1)

Actionbar在Android 3.0中添加,因此在Android 2.3中不支持。所以使用Go to The Link并下载库并将其添加到您的项目中。