【问题标题】:Parameter in strings.xml does't workstrings.xml 中的参数不起作用
【发布时间】:2016-06-14 18:48:48
【问题描述】:

我不明白了。 我尝试写一个TextView

android:text="@string/dbVer"

在strings.xml中定义

<string name="dbVer">db %1$s</string>

在活动中

int dbTag = Integer.parseInt(yearDay.format(new Date(new File(databasePath + "/ean_database.db").lastModified())));
String dbVer = String.format(getString(R.string.dbVer), dbTag );

TextView 仍在显示:db %1$s

我找到的最接近的答案:Are parameters in strings.xml possible? 是相似的,但实际上对我来说有些问题。

【问题讨论】:

  • 在你在Activity中发布的代码之后,你是否在TextView上调用setText()

标签: android xml string parameters


【解决方案1】:

看起来您正在获得结果“db %1$s”,因为您正在创建一个字符串并将其作为其值分配到这些 >

【讨论】:

    【解决方案2】:
    android:text="@string/dbVer"
    

    这指的是您的格式字符串并显示您看到的原始格式字符串。

    int dbTag = Integer.parseInt(yearDay.format(new Date(new File(databasePath + "/ean_database.db").lastModified())));
    String dbVer = String.format(getString(R.string.dbVer), dbTag );
    

    这将使用资源中的格式字符串创建一个新字符串dbVer

    缺少的是您需要将此新字符串设置为您的TextView 的文本:

    TextView tv = (TextView)findViewById(R.id.your_textview_id); // assuming an activity
    tv.setText(dbVer);
    

    【讨论】:

      猜你喜欢
      • 2014-04-22
      • 2019-07-04
      • 2020-05-22
      • 2017-03-08
      • 2011-02-23
      • 2013-12-19
      • 2012-11-18
      • 2019-07-06
      • 1970-01-01
      相关资源
      最近更新 更多