2013-03-18 4 views
0

이상한 문제가 발생했습니다. targetAPI = 11 응용 프로그램에서 작업하고 있습니다 .Actionbar.TabListener를 사용하여 두 개의 탭을 구현했으며 모든 것이 잘 작동합니다. 그러나 이제는 독일어 문자열을위한 새로운 "values-de"폴더를 만들었습니다. 나는 독일 내 장치를 설정하고 응용 프로그램을 시작하려고 할 때 지금, 즉시에 nullpointer을 가진 충돌 :getActionBar() = 사용자 정의 언어의 경우 null

final ActionBar actionBar = getActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

이 왜 독일어로만 설정 장치와 함께 발생합니까 (나는 할 수있는 뭔가가 가정 "values-de"에 복사본 이름 바꾸기)

거대한 디자인 대안없이 어떻게 해결할 수 있습니까? 그것은 영어에 완벽하게 작동하지만 다중 언어 지원을 추가하고 싶습니다.

감사합니다.

EDIT 1 - 스택 트레이스 : (죄송 잊었) valuesvalues-<lang>-styles.xml을 통해 복사와

03-18 01:56:02.575: E/AndroidRuntime(23037): FATAL EXCEPTION: main 
03-18 01:56:02.575: E/AndroidRuntime(23037): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.motioncoding.mobilesms/com.motioncoding.mobilesms.core.LaunchActivity}: java.lang.NullPointerException 
03-18 01:56:02.575: E/AndroidRuntime(23037): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at android.app.ActivityThread.access$600(ActivityThread.java:141) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at android.os.Looper.loop(Looper.java:137) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at android.app.ActivityThread.main(ActivityThread.java:5041) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at java.lang.reflect.Method.invokeNative(Native Method) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at java.lang.reflect.Method.invoke(Method.java:511) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at dalvik.system.NativeStart.main(Native Method) 
03-18 01:56:02.575: E/AndroidRuntime(23037): Caused by: java.lang.NullPointerException 
03-18 01:56:02.575: E/AndroidRuntime(23037): at com.motioncoding.mobilesms.core.LaunchActivity.onCreate(LaunchActivity.java:43) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at android.app.Activity.performCreate(Activity.java:5104) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
03-18 01:56:02.575: E/AndroidRuntime(23037): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
03-18 01:56:02.575: E/AndroidRuntime(23037): ... 11 more 
+0

스택 트레이스를 게시 할 수 있습니까? – Cheesebaron

+0

그냥 게시, 죄송 분실 : P – AreusAstarte

+0

LaunchActivity의'onCreate()'43 행을 확인하십시오. 편집 : 신경 쓰지 마세요 당신의 ActionBar lines – Matt

답변

0

문제는 허용하고 중복이기 때문에 안드로이드를 혼동되지 않는 것입니다. 그러나 values-<lang>의 허용 된 리소스는 strings.xmlarrays.xml이며 이러한 리소스는 번역 대상이되는 리소스입니다.

그러나 그들이 API의 특정 버전을 대상으로하는 경우 values-<lang> 폴더에 styles.xml, dimens.xmlcolors.xml을 가질 수 있습니다. 그래서 그들은 values-de-v11에 있어야합니다.