2013-03-18 44 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