我想从显示它的 TextView 控件中找出与字符串关联的整数值到 R.string 文件中。
所以,我有一个名为 MyTextView 的 TextView 并将它的字符串关联为
MyTextView.setText(R.string.MyString);
现在,我想要创建一些函数来提供 MyTextView 的字符串 ID,例如GetStringId(MyTextView)。也许 TextView 包已经实现了这个,我找不到它。
谢谢你的帮助
要将多个翻译添加到您的应用程序,您应该使用“语言限定资源”,如Android Docs中所述。
基本上,您将备用语言(通常是英语)的字符串添加到您的res/values/strings.xml
-file 中。
任何其他翻译(例如西班牙语)使用给定的语言限定符(在ISO 639-1中指定)进入其语言限定资源目录。对于西班牙语,这将是res/values-es/strings.xml
.
然后,Android 会检查当前的设备语言,使用相应的语言限定符搜索任何翻译,并自动使用该文件中指定的字符串。如果它找不到任何具有相应语言限定符的文件夹,它会使用没有限定符的文件夹(例如“后备”语言)。
这是 Android 的一项服务,您只需将相应的翻译放在相应的语言限定文件夹中,其余的工作将由 Android 为您完成。
另请参阅这个较旧的问题:android 中的国际化
您可以轻松实现自己的功能,将文本设置为执行您想要的 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()