0

コンテンツを別の言語に翻訳できる特別なテキストビューを実装しようとしています。私の textviews には R.String - Text のみが含まれているため、別の言語で同等のテキストを利用できます (翻訳サーバーにアクセスする必要はありません)。

テキストビューから現在の String-Resource (R.string.XY) を取得するにはどうすればよいですか? それは可能ですか?そうでなければ、どうすればこの問題を簡単に解決できますか?

1 つの方法は、テキストをプログラムで設定することです。そのため、保存する必要がある独自のメソッドでリソース ID を要求するだけです。しかし、私は今、テキストをレイアウトに設定することで良い解決策を見つけようとしています。

4

1 に答える 1

0

次のように独自の関数を作成できます。

textView.setText(R.string.XY);
textView.setTag(new Integer(R.string.XY));

次に、次の方法で文字列リソース ID を取得します。

public Integer getStringResourceID(Textview textView){
    return ((Integer)textView.getTag()).intValue();
}

アップデート:

これを試して、レイアウト ファイルに設定されている文字列リソース ID を取得できます。

int resourceId = getApplicationContext().getResources().getIdentifier("textViewID", "string", getPackageName());
于 2013-04-23T08:01:00.577 に答える