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. 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-10-12 07:06:48

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

Android之使用JAVA占位符格式数据(很实用)

小编虽然是学java出生,但工作之后就一直从事android开发,很多java基础都忘记完了,最近一年从ES换到了AS,原来的很多习惯都收到了挑战,比如我喜欢ES写方法的时候先在JAVA project中写个main方法验证下对不对,比如数据拆分,时间对比等等,但AS使用中,因为和ES很多环境变量冲突,就把ES卸载了,现在很多都不方便. 在开发中使用比较多的就是设置view的值/给view填充值得时候,需要格式化数据,小编今天用了一写时间,做了下小小的整理 1.%s 字符串类型 用处:多用于字符

Android Gradle manifestPlaceholders 占位符详解

Android Gradle manifestPlaceholders 占位符详解 在实际项目中,AndroidManifest里十几个地方的值是需要动态的改变(生成apk文件的时候).如果每次去改也可以,但是累啊,在我之前他们打包是用手动替换,但我觉得这是是在没办法的办法,但是有了manifestPlaceholders占位符后就简单的多了,只需要改一个地方就行了. 1. 概括 下面介绍下manifestPlaceholders占位符的使用,其实很好理解,你可以认为它可以在 build.gra

Android字符串中使用占位符

一是可以通过Java的 String.format(String format, Object... args) 方法来实现 二则是通过Android自带的 getResources().getString(int id, Object... formatArgs) 实现 占位符的语法可以参考Java文档 简单演示下第二种方法 strings.xml 1 <string name="boolean_conversion">Boolean: %1$b\n</string

占位符

占位符 说明 %s 字符串(采用str()的显示) %r 字符串(采用repr()的显示) %c 单个字符 %b 二进制整数 %d 十进制整数 %i 十进制整数 %o 八进制整数 %x 十六进制整数 %e 指数 (基底写为e) %E 指数 (基底写为E) %f 浮点数 %F 浮点数,与上相同 %g 指数(e)或浮点数 (根据显示长度) %G 指数(E)或浮点数 (根据显示长度)

UITextField 占位符的颜色及光标颜色(及如何学习新知识)

一. 设置光标的颜色 1.如何是xib或storyBoard在设置控件属性找有没有有关颜色的属性(找到了backgroundColor,TextColor,还有一个是tintColor),这样就排除了前两个,试下tintColor,果然有效. 2.如何是用代码写的,可以在UITextField中找相关color,如果没有我们要的属性在父类里找或父类的父类中找,这时找到了这个tintColor. 二.设置点位符的颜色 方法1: 1.因为上面已经找过了没有其它跟颜色相关的属性了,这时我们在UITex

8 -- 深入使用Spring -- 1...4 属性占位符配置器

8.1.4 属性占位符配置器 PropertyPlaceholderConfigurer 是一个容器后处理器,负责读取Properties属性文件里的属性值,并将这些属性值设置成Spring配置文件的数据. 通过使用PropertyPlaceholderConfigurer后处理器,可以将Spring配置文件中的部分数据放在属性文件中设置. XML : <?xml version="1.0" encoding="UTF-8"?> <!-- Spri

SpringMVC(七) RequestMapping 路径中带占位符的URL

使用方法:在@RequestMapping("/delete/{id}")中,通过{id}带入pathvariable,然后在方法中,通过@PathVariable("变量名称") Iteger id 的方式引入占位符. 控制器代码: package com.tiekui.springmvc.handlers; import org.springframework.stereotype.Controller; import org.springframework.w

国际化之MessageFormat与占位符

如果一个字符串文本中包含了多个与国际化相关的数据,可以使用MessageFormat类对这些数据进行批量处理. 例如: 在2016年1月9日的时候,一场台风导致了500间房屋的摧毁和¥1000000元人民币的损失. 在上面这句话中,包含了时间.数字和货币等多个与国家化相关的数据,已经用下划线标出,而我们可以使用MessageFormat对这句话中多个数据进行批量处理. 要想使用MessageFormat进行批量处理,就要使用到占位符,用占位符替换上面的数据(不需要写死的数据或者与国际化相关的数据

NSLog占位符、常见文件类型、转义字符

[Objective-C常见的文件类型] 文件类型 说明 .m OC源码文件 .h 头文件 .c C源码文件 .cc C++源码文件 .mm OC++源码文件 [转义字符] 字符 说明 \b 退格 \t 制表 \r 回车 \t 水平制表 \v 垂直制表 \\ 反斜杠 [Format占位符,常用的加粗斜线表示] 占位符 说明 %@ 格式化对象 %i 格式化整数,包含负数 %p 指针 %f 浮点数float %e 浮点数的科学计数法 %g 浮点数 %u 无符整形 unsigned int %hi 格