0

私は一種の奇妙な問題に遭遇しました。私はアプリケーション targetAPI = 11 に取り組んでいます。theActionbar.TabListener を使用して 2 つのタブを実装していますが、すべてうまく機能しています。ただし、ドイツ語のデバイスで使用するドイツ語の文字列用に新しい「values-de」フォルダーを作成しました。ここで、デバイスをドイツ語に設定してアプリケーションを起動しようとすると、nullpointer が含まれてすぐにクラッシュします。

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

デバイスがドイツ語に設定されている場合にのみ発生するのはなぜですか (values-de と関係があると思います。「values」フォルダー全体をコピーし、コピーの名前を「values-de」に変更しました)

そして、大規模な設計上の回避策なしに、どうすればこれを修正できますか? 英語では完全に機能しますが、多言語サポートを追加したいと思います。

ありがとう。

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
4

1 に答える 1

0

styles.xmlからvaluesにコピーする際の問題は、コピーvalues-<lang>が許可されておらず、重複しているため Android を混乱させることです。ただし、許可されているリソースvalues-<lang>strings.xmlarrays.xmlこれらのリソースのみが翻訳される可能性があるためです。

ただし、特定のバージョンの API を対象としている場合はstyles.xml、フォルダー内にdimens.xmlcolors.xmlを含めることができます。values-<lang>したがって、それらは ie にある必要がありますvalues-de-v11

于 2013-03-18T15:11:21.220 に答える