android中string.xml中%1$s、%1$d等的用法


今天在研究前輩寫的代碼的時候,突然發現string里面出現了<stringname="item_recent_photo">最近拍攝%1$s</string>
有點蒙圈,這個不是c語音里面的表示方式,就百度了一下,記。。。

 

在TextView中想要動態的顯示某些值,用到%1$s,%1$d,先介紹一下:

  • %n$ms:代表輸出的是字符串,n代表是第幾個參數,設置m的值可以在輸出之前放置空格 
  • %n$md:代表輸出的是整數,n代表是第幾個參數,設置m的值可以在輸出之前放置空格
  • %n$mf:代表輸出的是浮點數,n代表是第幾個參數,設置m的值可以控制小數位數,如m=2.2時,輸出格式為00.00
  • %d   (表示整數)
  • %f    (表示浮點數)
  • %s   (表示字符串)
使用:
1、整型,比如“小姐今年23歲了”,這個23是整型的。在string.xml中可以這樣寫,
<string name="old">小姐今年%1$d歲了</string>

String sAgeFormat = getResources().getString(R.string.old);  

String sFinalAge = String.format(sAgeFormat, 23); 

將%1$d替換為23; 
%1$d表達的意思是整個name=”old”中,第一個整型的替代。如果一個name中有兩個需要替換的整型內容,則第二個寫為:%2$d,以此類推
 
2、string型,比如“我的名字叫李四,我來自首都北京”;這里的“李四”和“首都北京”都需要替換。 
在string.xml中可以這樣寫,<string name="alert">我的名字叫%1$s,我來自%2$s</string>

view sourceprint?1 String sAgeFormatString sAgeFormat1= getResources().getString(R.string.alert);      

String sFinal1 = String.format(sAgeFormat1, "李四","首都北京");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM