2016-06-14 55 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