我的Android应用程序包含ListView
与SimpleCursorAdapter
绑定到数据库。此数据库包含列,其中包含
somenameofrow
anothername
thirdname
然而,我不是直接在ListView
中显示这些文本,而是想从Android资源中读取文本(实际上是 - 翻译)。
我该怎么办?
我认为我可以setViewValue
使用同一个name
,下面的代码TextView
是case R.id.name:
TextView elName = (TextView) view;
elName.setText(getApplicationContext().getString(R.string.));
return true;
项,它会显示我的文字:
cursor.getString(columnIndex)
我不确定如何理解我正在寻找的资源的正确ID(可能是elName.getText()
或{{1}})以及如何获取该值?
更新。如果从数据库中排除名称并使用ID,该怎么办?它有帮助吗?
答案 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