2017-09-01 14 views
0

在Android中的佈局(XML)中,您可以使用屬性android:text啓動一些包含文本值的UI組件。據我所知,你只能傳遞硬編碼文字或沒有參數的簡單字符串(即R.string.xxx)。Android中的高級字符串文字支持?

我想知道關於兩個以下情況:

情況1:字符串與參數佔位符

實施例:

<string name="restart">Restart %1$s</string> 

情況2:複數

實施例:

<plurals name="years"> 
    <item quantity="one">%1$s year</item> 
    <item quantity="other">%1$s years</item> 
</plurals> 

據我所知,我需要以編程方式(在膨脹佈局的片段/活動中)使用這些字符串設置android:text屬性。我認爲這不是很乾淨。

問題:有沒有辦法直接在XML中設置這些字符串(帶參數)?

回答

1

這是不可能的,因爲string.xml資源被添加到R.javaR.java是一個自動生成的文件,包含項目中使用的所有資源。如果您想在運行時更改strings.xml,則不能。

這是Android中最基本的東西。您必須閱讀Android開發人員文檔,然後才能獲得有關它的良好知識。