0

我遇到了一个奇怪的问题。我正在开发一个应用程序 targetAPI = 11。我正在使用 theActionbar.TabListener 来实现两个选项卡,一切都很好。但是,我现在为德语字符串创建了一个新的“values-de”文件夹以用于德语设备。现在,当我将设备设置为德语并想要启动应用程序时,它会立即崩溃,其中包含一个空指针:

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

为什么它只发生在设备设置为德语的情况下(我认为它与我的 values-de 有关,我只是复制了整个“values”文件夹,将副本重命名为“values-de”)

如果没有大量的设计变通办法,我该如何解决这个问题?它非常适合英语,但我想添加多语言支持。

谢谢。

编辑 1 - Stacktrace:(抱歉忘记了)

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
4

1 回答 1

0

复制styles.xmlfrom valuesto的问题values-<lang>是它是不允许的,并且会混淆 Android,因为它是重复的。然而,允许的资源values-<lang>strings.xml并且arrays.xml因为这些资源是唯一需要翻译的资源。

但是,当它们针对 API 的特定版本时,可以在文件夹中包含styles.xml,dimens.xml和。所以他们必须在 ie 中。colors.xmlvalues-<lang>values-de-v11

于 2013-03-18T15:11:21.220 回答