我在strings.xml中更新了一些字符串值,我的应用程序现在不显示新文本,而是显示@ 234545201。我已经清理了预测和重建,没有导入android.R任何地方,只是R与我的包相关。出了什么问题?
答案 0 :(得分:6)
要从strings.xml
文件中获取字符串,您可以执行以下操作。
如果你需要它作为一个String对象,你可以使用getString(R.string.string_id)
来获取给定ID的字符串。
如果您尝试设置TextView
的文本,您实际上只需使用setText(R.string.string_id)
,操作系统就会为您获取正确的字符串。
换句话说,TextView
类有一个名为setText(int resid)
的方法,这也是你不能写下面内容的原因:
TextView.setText(12345680);
答案 1 :(得分:2)
您是否尝试直接将其作为R.string.my_string_resource阅读? 尝试将getString()作为getString(R.string.my_string_resource)传递给它。
答案 2 :(得分:1)
您可以将strings.xml文件格式化为以下格式。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Yamba</string>
<string name="titleYamba">Yamba</string>
<string name="titleStatus">Status Update</string>
<string name="hintText">Please enter your 140-character status</string>
<string name="buttonUpdate">Update</string>
</resources>
并使用该名称作为文本框ID的引用,例如。
android:text="@string/app_name"