android字符串+数字变量方法之%1$s、%1$d的用法
生活随笔
收集整理的這篇文章主要介紹了
android字符串+数字变量方法之%1$s、%1$d的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作用:
動態的拼接字符串,使代碼更簡潔,更易維護、易擴展。
用法:
1.整型:
比如:“他今年XX歲了”,這個具體XX歲可能需要從服務端取的,那我們可以這么寫
在程序中
TextView tvOld = (TextView)findViewById(R.id.tv_old); tvOld.setText(getContext().getString(R.string.old, 18));執行結果就是:“他今年18歲了”。
“%1$d”表達的意思是整個name=”old”中,第一個整型的替代。如果一個name中有兩個需要替換的整型內容,則第二個寫為:%2$d,以此類推;具體程序中替換見下面的string型;
插個話,getString()方法的第二個參數是個可變參數,參見源碼:
/*** Return a localized formatted string from the application's package's* default string table, substituting the format arguments as defined in* {@link java.util.Formatter} and {@link java.lang.String#format}.** @param resId Resource id for the format string* @param formatArgs The format arguments that will be used for substitution.*/public final String getString(int resId, Object... formatArgs) {return getResources().getString(resId, formatArgs); }2.String類型
比如,“我叫XX,來自XXX”,這里的XX和XXX都需要替換,在strings.xml中可以這么寫:
在程序中:
TextView tvIntroduce = (TextView)findViewById(R.id.tv_introduce);tvIntroduce.setText(getContext().getString(R.string.introduce, “宋仲基”,“太陽”));執行結果就是:“我的名字叫宋仲基,我來自太陽”。
當然,如果一句話里邊只有一個占位符的話,可以直接用%s或%d。
總結
以上是生活随笔為你收集整理的android字符串+数字变量方法之%1$s、%1$d的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 写作进度周报【人人都是产品经理:9039
- 下一篇: PGN: 指针生成网络(Get To T