2014-01-09 4 views
1

내 안드로이드 애플 리케이션에서 탐색 서랍을 구현하려고합니다. 이 튜토리얼 : http://manishkpr.webheavens.com/android-navigation-drawer-example-using-fragments/ 은 조각 모음을 사용하여 탐색 서랍을 구현하는 방법을 보여줍니다. 하지만 API 10 (진저 브레드)에서 실행하려고하면 앱이 강제 종료됩니다.내비게이션 2.3 진저 브레드

그러나 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) 
+0

충돌에 대한 스택 추적을 추가하십시오. – keyboardsurfer

+0

Google에 물어보기 전에 조금 .. http://developer.android.com/training/implementing-navigation/nav-drawer.html – bogdan

+1

낮은 버전에서도이 기능을 지원하는 Action Bar Sherlock을 사용해보세요. . 당신은 데모 [여기] (https://github.com/JakeWharton/ActionBarSherlock/tree/master/actionbarsherlock-samples)를 찾을 수 있습니다. – AndyN

답변

5

Android 2.3 Gingerbread에는 내비게이션 서랍을 사용할 수 없습니다. 이전 버전에서 Navigation Drawer를 사용하려면 AppCompat 지원 라이브러리를 사용해야합니다. 좋은 자습서가 있습니다 here

3

사전 벌집 가능한 ActionBar이 없습니다. 그래서 getActionBar()으로 앱이 다운됩니다.

SherlockActionbar 라이브러리 또는 지원 라이브러리의 ActionbarCompat를 사용해야합니다. 이 중 하나를 사용하면 getSupportActionBar()으로 전화가 변경됩니다.

+0

작업 표시 줄을 사용하지 않고 탐색 서랍을 구현할 수있는 방법이 있습니까? 기본적으로 내 앱이 전체 화면 모드를 가로로 사용하기 때문에 액션 바가 필요하지 않습니다! 제안하고 도와주세요. –

+0

@ChinmayDabke ActionBar의 AppIcon은 NavigationDrawer를 열고 닫는 데 사용됩니다. 더 이상의 기능을 수행 할 필요는 없습니다. ActionBar가 없으면 스 와이프 제스처로 서랍을 열거 나 단추를 추가하여 서랍을 열고 닫을 수 있습니다. AppIcon은 상호 작용을위한 표준 방법 일뿐입니다. –

+0

그래서 가로 방향으로 전체 화면 모드에서도 탐색 창을 사용할 수 있습니까? 스티브 감사합니다! –

2
당신은 당신은 SherlockActivity을 확장하거나 호환성 라이브러리를 사용하고 문제를 해결하기 위해 getSupportActionBar()를 호출해야합니다 API 레벨 11 에 추가되었습니다 getActionBar()를 호출하고

.

+0

작업 표시 줄을 사용하지 않고 탐색 창을 구현할 수있는 방법이 있습니까? 기본적으로 내 앱이 전체 화면 모드를 가로로 사용하기 때문에 액션 바가 필요하지 않습니다! 제안하고 도와주세요. –

관련 문제