2012-05-09 4 views
3

私はstrings.xmlファイル内にプログラム的に変更したい項目がありましたが、元々はsetText();コールでやっていましたが、今ではアプリを別の言語に翻訳しようとしています。私のstrings.xmlファイル。私のアプリケーションのすべてのテキストをstrings.xmlに入れ、setText()関数呼び出しを使用する代わりに、文字列名への参照を通じてプログラム的に変更することは可能ですか?たとえば、 "GrandTotal"をどのように参照するのですか?あなたが直接あなたがresourceIdsと実際のint型の混同を避けるためにgetString(R.string.GrandTotal);どのように私は/values/strings.xmlファイル内の何かをプログラムで参照できますか?

答えて

16

String s = getResources().getString(R.string.grand_total); 

のような文を使用しますが、ほとんどの場合、過負荷はしばしば

String str = getString(R.string.choose_prompt); 

または

String str = this.getString(R.string.choose_prompt); 
6

を使用することができますresId経由でテキストを設定する可能性を持っていない場合あなたはまた、setText(R.string.GrandTotal);

を可能性が使用することができます

<string name="GrandTotal">Grand Total:</string> 
<string name="choose_prompt">Choose a Mode</string> 
+0

ありがとうございました。あなたとキーボードサルファーが提供してくれた両方のアイテムが私のために役立ちました。 – clayton33

0

を言ったように、直接resourceIds。それがあなたを助けることを願っています

setText(getResources().getString(R.string.GrandTotal)); 
1

をこの方法を試してみてください:@KeyboardsurferはAcrivityに

関連する問題