日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android字符串+数字变量方法之%1$s、%1$d的用法

發布時間:2024/1/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android字符串+数字变量方法之%1$s、%1$d的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作用:

動態的拼接字符串,使代碼更簡潔,更易維護、易擴展。

用法:

1.整型:
比如:“他今年XX歲了”,這個具體XX歲可能需要從服務端取的,那我們可以這么寫

<string name="old">他今年%1$d歲了</string>

在程序中

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中可以這么寫:

<string name="introduce">我的名字叫%1$s,我來自%2$s</string>

在程序中:

TextView tvIntroduce = (TextView)findViewById(R.id.tv_introduce);tvIntroduce.setText(getContext().getString(R.string.introduce, “宋仲基”,“太陽”));

執行結果就是:“我的名字叫宋仲基,我來自太陽”。

當然,如果一句話里邊只有一個占位符的話,可以直接用%s或%d。

總結

以上是生活随笔為你收集整理的android字符串+数字变量方法之%1$s、%1$d的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。