strings.xml中的参数不起作用

时间:2016-06-14 18:48:49

标签: android xml string parameters

我不明白了。 我尝试编写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?是相似的,但实际上对我来说有些不对。

2 个答案:

答案 0 :(得分:0)

看起来你得到的结果是“db%1 $ s”,因为你正在创建一个字符串并将其作为其值在strings.xml文件中指定为&gt;&lt;。你试图让它显示出来的是什么?

答案 1 :(得分:0)

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);