0

Android アプリケーションで「string.format」の問題に直面しています。私のアプリケーションでは、ユーザーが言語設定をデフォルト (英語) から他の外国語 (日本語、ドイツ語など) に変更すると、変数文字列の配置によって強制終了エラーが発生します。以下のコードを参照してください。

temp = String.format(locale,getResources().getString(R.string.temp_string), value, name);

ここで、 temp_string = "パーセル番号 %1$d は %2$s に属します" は、一部の言語で他の言語が選択されている場合のデフォルト選択 (英語) で %2$s が %1$d の前に来ます。これにより、適用力が閉じます。変数文字列(値、名前)を動的に処理する方法はありますか?

4

1 に答える 1

1

私は次のようなことをします:

temp = getResources().getString(R.string.temp_string, value, name);

ご覧のとおり、getString()メソッドはフォーマットするパラメーターを受け取ることもできます。次に、さまざまな文字列リソースをさまざまなフォルダーに配置します。例えば:

res/
   values/
       string.xml <--- here you put "The parcel number %1$d belongs to %2$s"
   values-de/
       string.xml <--- here you put "The parcel number %2$d belongs to %1$s"

例を挙げただけです。私は実際にドイツの秩序がどのようになっているのか知りません。あなたが実際に試さなければならないことを説明したいだけです。

于 2012-06-28T00:15:20.840 に答える