2016-06-14 24 views
0

我不明白这一点。 我尝试写一个TextViewstrings.xml中的参数不起作用

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?是相似的,但实际上有些事情是错误的 我。

+0

您在活动发布的代码后,你叫'的setText()'在TextView的? –

回答

0

看起来您正在获取结果“db%1 $ s”,因为您正在创建一个字符串并将它指定为这些> <之间的strings.xml文件中的值。你想让它展示什么?

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

with tv.setText(dbVer);应用程序不会启动... – Luc