Android中 string.xml资源 如何添加参数?

在android 开发,我们通常会用string.xml资源去设置textview等控件的字符串。而值一般是与程序的运行结果无关的。

但有时需要根据运行的结果来显示到控件中,这时字符串资源就不能写死了。

可以用如下的表示方法来设置:

  • %n$ms:s代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格。 如 :%1$2s表示:字符串资源的第1个string类型参数且该参数之后带有两个空格。
  • %n$md:d代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格。
  • %n$mf:f代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数。 如:%2$.2f  此时 m=.2,输出格式为:整数部分.00

下面是它的定义及设置:

string.xml 代码

<resources>
 <string name="cart_cost">合计:%1$.2f元</string>
 <string name="cart_allcount">共:%1$1d件商品</string>
</resources>

java 代码

 String temp = getResources().getString(R.string.cart_cost);

//将对应的参数的依次设置进去  如:设置n个值  String.format(temp,param1,param2,...,paramn);String piece = String.format(temp,(float)totalPiece);
// 此时要重新给控件设置值,不然没有效果mTotalCast.setText(piece);

运行结果:

可以发现没有重新设置的,没有正确显示。

时间: 2024-10-13 08:21:22

Android中 string.xml资源 如何添加参数?的相关文章

【转】android中string.xml文件的使用

1.在程序中获取string.xml中字符串和数值 <?xml version="1.0" encoding="utf-8"?><resources>    <string name="hello">Hello World, MainActivity!</string>    <string name="app_name">TestExample01</stri

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的值可以在输出之前放置

Android中string.xml文件中设置部分字体颜色大小

1.在string.xml文件中: <string name="tips_all"><Data><![CDATA[清理进程:<font color="#7700ff00"><b>%1$d<br/></b></font>清理内存:<font color="#7700ff00"><b>%2$sMB</b></font&g

Android中string.xml中的的标签xliff:g(转载)

转自:http://blog.csdn.net/xuewater/article/details/25687987 在资源文件中写字符串时,如果这个字符串时动态的,又不确定的值在里面,我们就可以用xliff:g这个标签,但是我写的资源文件一直有错误,如: <string name="chronometer_initial_format">Initial format: <xliff:g id="initial-format">%1$s<

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

%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 %n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 %n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00 比如 <string name="section_format">Hello World from section: %1$d</string&g

android 中string.xml中的%1$s

idView.setText(getString(R.string.estate_id, mCollectParamObj.getPlotNo())); estate_id:小区号%1$s %d   (表示整数) %f    (表示浮点数) %s   (表示字符串)

android获取string.xml的值

转自 http://blog.sina.com.cn/s/blog_618199e601011bst.html 为什么需要把应用中出现的文字单独存放在string.xml文件中呢? 一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家来自动选择相应的string.xml文件,这时手机界面就会显示出英文.这样做国际化非常的方便. 二:为了减少应用的体积

android获取string.xml的值(转)

为什么需要把应用中出现的文字单独存放在string.xml文件中呢? 一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家来自动选择相应的string.xml文件,这时手机界面就会显示出英文.这样做国际化非常的方便. 二:为了减少应用的体积,降低数据的冗余.假设在应用中要使用"我们一直在努力"这段文字1000次,如果在每次使用时直接写上这几

android中的用户资源访问(一)

这几天要总结一下android开发中的用户资源访问. android中的用户资源存在项目工程中res文件夹下,有字符串.颜色.大小.数组.布局.样式.主题等资源,这些资源可以在xml文件中引用,也可以在android源码文件中使用,今天总结一下字符串.颜色.大小.数组.布局和图片资源. 总的来说,在xml文件中引用的格式为[<package>.]@/XXX/name:在源码中引用格式是[<package>.]R.XXX.name. 先贴上在xml文件中引用的代码(在布局xml文件中