Android 占位符 %1$s %1$d

1、整型,比如“我今年23岁了”,这个23是整型的。在string.xml中可以这样写,<string name="old">我今年%1$d岁了</string> 

在程序中,使用 

[java] view
plain
copy

  1. String sAgeFormat = getResources().getString(R.string.old);  
  2. String sFinalAge = String.format(sAgeFormat, 23);  

将%1$d替换为23; 

%1$d表达的意思是整个name=”old”中,第一个整型的替代。如果一个name中有两个需要替换的整型内容,则第二个写为:%2$d,以此类推;具体程序中替换见下面的string型; 

 

 

2、string型,比如“我的名字叫李四,我来自首都北京”;这里的“李四”和“首都北京”都需要替换。 

在string.xml中可以这样写,<string name="alert">我的名字叫%1$s,我来自%2$s</string> 

在程序中: 

[java] view
plain
copy

  1. view sourceprint?1 String sAgeFormatString sAgeFormat1= getResources().getString(R.string.alert);     
  2.   
  3. String sFinal1 = String.format(sAgeFormat1, "李四","首都北京");   

这里两个string需要替换的,按照上面程序的顺序依次对应。

 

 

<xliff:g>标签介绍: 
属性id可以随便命名 
属性值举例说明
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00 

也可简单写成:

%d   (表示整数)

%f    (表示浮点数)

%s   (表示字符串)

 

使用步骤举例:

1.

<?xml version="1.0" encoding="utf-8"?>

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> 

2.

 <string name="test_xliff">小红今年<xliff:g id="xxx">%d</xliff:g>岁了,上<xliff:g id="yyy">%s</xliff:g>年级!</string>

3. 

String test = String.format(getResources().getString(R.string.test_xliff), 7, "小学二");

输出:

小红今年7岁了,上小学二年级!

时间: 2024-08-01 08:55:21

Android 占位符 %1$s %1$d的相关文章

【我的Android进阶之旅】解决strings.xml格式化占位符错误: Multiple substitutions specified in non-positional format

今天有一个Android新手使用strings.xml进行格式化的时候报了占位符错误, Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute? ,问我该如何解决? 一.错误描述 具体错误描述如下所示: D:\Code_For_Android_Studio\MyGame2048\app\build\intermediate

Android中Strings.xml使用占位符示例

MainActivity如下: package cn.test; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 在资源文件Strings.xml中的某个string里使用占位符 * 然后在代码中将其替换 */ public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstan

关于 Spring 中使用 context:property-placeholder 属性占位符设置配置文件

关于 Spring 中使用 context:property-placeholder 属性占位符设置配置文件 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 该配置文件中以键值存储,键在 spr

通过占位符来动态获得字符串资源

一般情况下,我们可以在android中这样定义一个字符串资源: <string name="dymString">今天是%1$s,当前温度:%2$d.</string> 其中%1,%2--表示占位符,从1到n,$s表示字符串,$d表示十进制整数. 在程序中使用时: tv.setText(getString(R.string.dymString,"星期1",20)) 这样讲参数传入.

HTML5 input Placeholder(占位符)样式

 placeholder 属性 placeholder(占位符)在实际的应用中非常常见,主要用作提示输入内容,现代浏览器都支持:   <input placeholder="搜索" type="text"> placeholder 样式   这里网上搜索了一下 placeholder 样式相关知识,分享一下:   /* all */ ::-webkit-input-placeholder { color:#f00; } ::-moz-placeholde

使用Dreamweaver占位符创建Fireworks文件

dreamweaver|创建 图像占位符允许用户指定Dreamweaver中将来放置的Fireworks图像的大小和位置,可以让我们在网页创建最终的图片之前尝试采用各种不同的网页布局,从而将Fireworks和 Dreamweaver的功能综合运用,发挥二者的强大功能. 在使用Dreamweaver图像占位符创建Fireworks图像时,系统会用与所选占位符尺寸相同的画布创建一个新的Fireworks文档.一旦Fireworks使用结束并且返回到 Dreamweaver,所创建的新Firewor

使用Fireworks修改Dreamweaver图像占位符

可以首先在 Dreamweaver 文档中创建一个占位符图像,然后启动 Fireworks 设计一个图形图像或 Fireworks 表格来替换它. 若要从图像占位符创建新图像,您的系统中必须同时安装有 Dreamweaver 和 Fireworks. 确保您已经将 Fireworks 设为 PNG 文件的图像编辑器. 在"文档"窗口中,单击图像占位符以选择它. 以"从 Dreamweaver 进行编辑"模式启动 Fireworks,方法是执行下列操作之一: 在属性检

Scala:函数文本的短格式和占位符语法

函数文本的短格式 Scala提供了许多方法去除冗余信息并把函数文本写得更简短.注意留意这 些机会,因为它们能让你去掉代码里乱七八糟的东西. 一种让函数文本更简短的方式是去除参数 类型.因此,前面带过滤器的例子可以写成这样: scala> someNumbers.filter((x) => x > 0) res7: List[Int] = List(5, 10) Scala编译器知道x一定 是整数,因为它看到你立刻使用了这个函数过滤整数列表(由someNumbers暗示).这被称为目标类型

Dreamweaver占位符设置技巧

  在设计网页的时候,在图片位中的图片还没有设计好,但是我们此时就需要保留这个位置,这时我们就会用到"图像占位符"这个功能. 今天小编为大家介绍一下占位符的各种属性设置. 在dreamweaver中插入占位符后,我们可以用鼠标选中占位符,这时在软件下方出现占位符的属性面板,此时我们就可以在属性中可以对占位符的颜色.大小.链接等进行设置.         注:更多精彩教程请关注三联软件使用栏目