如何翻译ListView文本?

时间:2011-06-01 15:13:30

标签: java android android-listview

我的Android应用程序包含ListViewSimpleCursorAdapter绑定到数据库。此数据库包含列,其中包含

等数据
somenameofrow
anothername
thirdname

然而,我不是直接在ListView中显示这些文本,而是想从Android资源中读取文本(实际上是 - 翻译)。 我该怎么办?

我认为我可以setViewValue使用同一个name,下面的代码TextViewcase R.id.name: TextView elName = (TextView) view; elName.setText(getApplicationContext().getString(R.string.)); return true; 项,它会显示我的文字:

cursor.getString(columnIndex)

我不确定如何理解我正在寻找的资源的正确ID(可能是elName.getText()或{{1}})以及如何获取该值?

更新。如果从数据库中排除名称并使用ID,该怎么办?它有帮助吗?

2 个答案:

答案 0 :(得分:0)

不,你不能,因为在编译过程中,id是以一些基本上半随机的方式生成的,所以你不能确定哪个id会有特定的String资源。

我建议使用DB翻译,或者您可以阅读资产翻译

答案 1 :(得分:0)

如果你阅读了android指南ListView tutorial,你会发现:

  

请注意,使用硬编码字符串数组不是最佳设计方法。为简单起见,本教程中使用了一个,以演示ListView小部件。更好的做法是引用由外部资源定义的字符串数组,例如使用项目res / values / strings.xml文件中的资源

只需在res / values-XX中创建不同的string-array项,其中XX是您要翻译的区域设置。

有关资源和i18n的详细信息,请参阅开发指南:http://developer.android.com/guide/topics/resources/localization.html