1

それを表示する TextView コントロールから、文字列に関連付けられた整数値を R.string ファイルに見つけたいと思います。

だから、私は MyTextView という TextView を持っていて、その文字列をこれとして関連付けました

MyTextView.setText(R.string.MyString);

今、私が欲しいのは、GetStringId(MyTextView)のような MyTextView の文字列 ID を与える関数を作成することです。おそらく、TextView パッケージには既にこれが実装されていて、見つからないのでしょう。

ご協力いただきありがとうございます

4

2 に答える 2

1

アプリケーションに複数の翻訳を追加するには、 Androidドキュメントで説明されているように、「language-qualified-resources」を使用する必要があります。

基本的に、フォールバック言語(多くの場合英語)の文字列をファイルに追加しますres/values/strings.xml

その他の翻訳(スペイン語など)は、指定された言語修飾子(ISO 639-1で指定)を使用して、language-qualified-resourceディレクトリに移動します。スペイン語の場合、これはになりますres/values-es/strings.xml

次に、Androidは現在のデバイス言語をチェックし、対応する言語修飾子を使用して翻訳を検索し、そのファイルで指定された文字列を自動的に使用します。対応する言語修飾子のあるフォルダーが見つからない場合は、修飾子のないフォルダーを使用します(「フォールバック」言語など)。

これはAndroidのサービスであり、対応する翻訳を対応する言語修飾フォルダーに配置するだけで、Androidが残りの作業を行います。

この古い質問も参照してください:Androidでの国際化

于 2012-04-09T15:00:36.893 に答える
1

必要な処理を実行するTextViewにテキストを設定するための独自の関数を簡単に実装できます。単に次のようなことをしてください:

    textview.setText(R.string.my_text);
    textview.setTag(new Integer(R.string.my_text));

テキストを設定する関数で、次に2番目の関数(文字列IDを取得するため)で次のようにします。

    return ((Integer)textview.getTag()).intValue();

次の2つの機能のドキュメントをお読みください。

http://developer.android.com/reference/android/view/View.html#setTag() http://developer.android.com/reference/android/view/View.html#getTag()

于 2012-04-09T15:08:06.940 に答える