2013-03-18 76 views
0

我遇到了一種奇怪的問題。 我正在處理應用程序targetAPI = 11。我正在使用Actionbar.TabListener實現兩個選項卡,並且一切都很好。不過,我現在爲德語設備創建了德語字符串的新「values-de」文件夾。現在,當我的設備設置爲德語和要啓動的應用程序,它會立即崩潰在具有空指針:getActionBar()=空的自定義語言

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

爲什麼它只有設置爲德語的設備發生(我假設它有事可做與我的值德,我只是複製整個「值」文件夾,將副本重命名爲「值德」)

而我該如何解決這個沒有巨大的設計解決方法?它適用於英語,但我想添加多語言支持。

謝謝。

EDIT 1 - 堆棧跟蹤:(抱歉忘了)

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

你可以使用stacktrace嗎? – Cheesebaron 2013-03-18 00:52:20

+0

剛剛發佈,對不起,忘了:P – AreusAstarte 2013-03-18 00:57:11

+0

檢查LaunchActivity的'的onCreate()'在線43編輯:請不要介意我看是你的動作條這 – Matt 2013-03-18 01:16:58

回答

0

問題的複印過styles.xmlvalues從到values-<lang>是,它是不允許的,混淆的Android,因爲它是一個重複。然而,values-<lang>中允許的資源是strings.xmlarrays.xml,因爲這些資源是唯一可以翻譯的資源。

但是,當它們針對特定版本的API時,可能在values-<lang>文件夾中具有styles.xml,dimens.xmlcolors.xml文件夾。所以他們必須在,即values-de-v11