Android的strings.xml中的占位符

在我們的日常開發(fā)中,總會(huì)遇到TextView展示一個(gè)文本,而文本中的部分內(nèi)容是需要?jiǎng)討B(tài)變化的(如從服務(wù)器端獲取),也許你會(huì)使用代碼中字符串拼接的方式完成,當(dāng)然這種方法也是可以的。如果你想讓你的代碼更加的優(yōu)雅,不妨試試使用占位符的方式。

占位符

為了更優(yōu)雅的完成上述的問題,我們可以在strings.xml文件里,使用%s %1$s %d %1$d這些占位符,在頁面設(shè)置展示的時(shí)候我們只需要將真實(shí)展示的文字或者數(shù)據(jù)替換掉就OK了。

占位符 類型
%s 替換String類型
%1$s 替換String類型
%d 替換int類型
%1$d 替換int類型

注:%s 、%d為縮寫方式,只替換一個(gè)位置,可以這么寫

單一占位符使用
  • 在strings.xml定義字符串
    <string name="str">截止目前你已經(jīng)消費(fèi)了人民幣%s元</string>

  • 在類中使用
    String.format(mActivity.getResources().getString(R.string. str),"9999"))

最終的輸出結(jié)果:截止目前你已經(jīng)消費(fèi)了人民幣9999元

多個(gè)占位符使用
  • 在strings.xml中定義
    <string name="str">大家好,我叫%1$s,我的愛好是%2$s,%3$s是我最喜歡的明星,如果有機(jī)會(huì)我想對(duì)他說一句:%4$s</string>

  • 在類中使用
    String.format(mActivity.getResources().getString(R.string. str), "Wit","籃球", "kobe", "你還好嗎"))

最終的輸出結(jié)果:大家好,我叫Wit,我的愛好是籃球,kobe是我最喜歡的明星,如果有機(jī)會(huì)我想對(duì)他說一句:你還好嗎

簡單的一個(gè)方法就可以讓你的代碼更加優(yōu)雅,不妨去試試吧?。?! 當(dāng)然如果你使用的kotlin開發(fā)項(xiàng)目,kotlin中支持字符串模版,使用起來更加簡單。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容