1

我想从显示它的 TextView 控件中找出与字符串关联的整数值到 R.string 文件中。

所以,我有一个名为 MyTextView 的 TextView 并将它的字符串关联为

MyTextView.setText(R.string.MyString);

现在,我想要创建一些函数来提供 MyTextView 的字符串 ID,例如GetStringId(MyTextView)。也许 TextView 包已经实现了这个,我找不到它。

谢谢你的帮助

4

2 回答 2

1

要将多个翻译添加到您的应用程序,您应该使用“语言限定资源”,如Android Docs中所述。

基本上,您将备用语言(通常是英语)的字符串添加到您的res/values/strings.xml-file 中。

任何其他翻译(例如西班牙语)使用给定的语言限定符(在ISO 639-1中指定)进入其语言限定资源目录。对于西班牙语,这将是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));

在用于设置文本的函数中,然后在第二个函数(用于获取字符串 ID)中执行以下操作:

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

阅读以下两个函数的文档:

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 回答