代码之家  ›  专栏  ›  技术社区  ›  SapphireSun

Android资源ID分配不正确

  •  5
  • SapphireSun  · 技术社区  · 14 年前

    我遇到了一个奇怪的问题,如果我打电话 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>
    

    以下是遇到其中一个问题的代码示例:

    if (note.created != null) {
         createdtext.setText(getString(R.string.created) + " " + Util.longDateFormat(note.created));
    }
    

    输出的文本( 有时 Foo bar November 03, 2010 (即属于r.string.placeholder)。怎么回事?这让我不安地想要硬编码字符串;-)

    谢谢你的帮助!

    1 回复  |  直到 14 年前
        1
  •  5
  •   CommonsWare    14 年前

    ant clean install ant install