Sap*_*Sun 5 string resources android
我遇到了一个奇怪的问题,如果我getString(R.string.somestringname)不时调用,甚至在删除R文件并重新编译之后,会出现错误的字符串.模拟器没有崩溃,并且出现了一个有效的字符串 - 它只是错误的字符串.
我的strings.xml示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Activity Names -->
<string name="app_name">an app name</string>
<string name="selector_name">app name | Select</string>
<string name="create">Create</string>
<string name="overview_name">appname | Overview</string>
<string name="another_name">appname | Another View</string>
.....
<!-- Edit Note -->
<string name="placeholder">Foo bar</string> <-- here is a problem
<string name="created">Created:</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
以下是遇到其中一个问题的代码示例:
if (note.created != null) {
createdtext.setText(getString(R.string.created) + " " + Util.longDateFormat(note.created));
}
Run Code Online (Sandbox Code Playgroud)
输出的文本(某些时候)是Foo bar November 03, 2010(即属于R.string.placeholder).到底是怎么回事?这令人不安地让我想要硬编码字符串;-)
谢谢你的帮助!
使用ant clean install而不仅仅是ant install.
Java将类似R.id值的常量内联到生成的字节码中,有时候你的类不会被重新编译,即使它们需要.理想情况下,ant install会妥善处理; 直到它,ant clean install是你的朋友.
| 归档时间: |
|
| 查看次数: |
714 次 |
| 最近记录: |