如何翻译ListView文本



我的android应用程序包括与SimpleCursorAdapter绑定到数据库的ListView。此数据库包含列,其中包含类似的数据

somenameofrow
anothername
thirdname

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

我认为我可以使用setViewValue,下面代码中的nameTextView项,它显示我的文本:

case R.id.name:
    TextView elName = (TextView) view;
    elName.setText(getApplicationContext().getString(R.string.));
    return true;

我不知道如何理解我正在寻找的资源的正确id(可能是cursor.getString(columnIndex)elName.getText()),以及如何获得值?

上升如果我从数据库中排除名称并使用id会怎样。这会有帮助吗?

如果你阅读android指南ListView教程,你会发现:

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

只需在res/values XX中创建不同的string-array项,其中XX是要翻译的语言环境。

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

不可以,因为id在编译过程中是以某种基本上是随机的方式生成的,所以您不能确定哪个id将具有特定的String资源。

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

最新更新