实际开发的过程中我们有时候会遇到,一个TextView里面会遇到会有一个一大串固定的文字,而里面的数字或者个别字需要根据后台的接口而展示的。这个时候我们最简单的方法就是在string.xml文件里 使用 %s、%1$s、%d、%1$d,而在页面展示的时候我们只需要用实际展示的文字或者数据替换掉这些占位符就可以了。

%1$s表示把第一个位置的占位符替换成string类型

%1$d表示把第一个位置的占位符替换成int类型

数字表示替换字符串中第几个被替换的位置,若一个字符串要替换两个int类型,在替换位置分别写%1$d和%2$d.

%s 、%d为缩写方式,只替换一个位置,可以这么写。

例1: %s

strings.xml

<string name="strings1">My name is %s</string>

代码中:

TextView tv_text = findViewById(R.id.tv_text);
String text = getString(R.string.strings1, "Tom");
tv_text.setText(text);
Log.i(TAG, "text: "+text);

Log:

I/StringsApiUseDemoActivity: text: My name is Tom

例2:%d

<string name="strings1">My age is %d</string>

代码中:

TextView tv_text = findViewById(R.id.tv_text);
String text = getString(R.string.strings2, 20);
tv_text.setText(text);
Log.i(TAG, "text: "+text);

Log:

I/StringsApiUseDemoActivity: text: My age is 20

例3:%1$s

<string name="strings3">My name is %1$s, you name is %2$s, others name is %3$s</string>

代码中:

TextView tv_text = findViewById(R.id.tv_text);
String text = getString(R.string.strings3, "Tom", "Mike", "John");
tv_text.setText(text);
Log.i(TAG, "text: "+text);

Log:

I/StringsApiUseDemoActivity: text: My name is Tom, you name is Mike, others name is John

例4:%1$d

<string name="strings4">My age is %1$d, you age is %2$d, others age is %3$d</string>

代码中:

TextView tv_text = findViewById(R.id.tv_text);
String text = getString(R.string.strings4, 20, 25, 30);
tv_text.setText(text);
Log.i(TAG, "text: "+text);

Log:

I/StringsApiUseDemoActivity: text: My age is 20, you age is 25, others age is 30

参考链接:

1. %s、%1$s、%d、%1$d占位符

2. android的string.xml中的%s、%1$s、%d、%1$d的使用

android strings: %s、%1$s、%d、%1$d占位符的更多相关文章

  1. 不可不知的 Android strings.xml 那些事

    相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加规范易用,大家来看看吧. ...

  2. Android Strings.xml To CSV / Excel互转

    Android Strings.xml To CSV/Excel互转https://blog.csdn.net/hzxpyjq/article/details/50686983https://blog ...

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

    今天有一个Android新手使用strings.xml进行格式化的时候报了占位符错误, Multiple substitutions specified in non-positional forma ...

  4. Android中使用占位符

    Android中占位符的使用 有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法. strings.xml中节点是支持占位符的,如下所示: < ...

  5. Android Gradle manifestPlaceholders 占位符详解

    Android Gradle manifestPlaceholders 占位符详解 在实际项目中,AndroidManifest里十几个地方的值是需要动态的改变(生成apk文件的时候).如果每次去改也 ...

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

    小编虽然是学java出生,但工作之后就一直从事android开发,很多java基础都忘记完了,最近一年从ES换到了AS,原来的很多习惯都收到了挑战,比如我喜欢ES写方法的时候先在JAVA projec ...

  7. 【Android 应用开发】Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片

    一. Application用途 1. Application用途 创建Application时机 : Application在启动的时候会调用Application无参的构造方法创建实例; Appl ...

  8. Android 图片加载库Glide 实战(二),占位符,缓存,转换自签名高级实战

    http://blog.csdn.net/sk719887916/article/details/40073747 请尊重原创 : skay <Android 图片加载库Glide 实战(一), ...

  9. Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片

    一. Application用途 1. Application用途 创建Application时机 : Application在启动的时候会调用Application无参的构造方法创建实例; Appl ...

随机推荐

  1. Spark 用Scala和Java分别实现wordcount

    Scala import org.apache.spark.{SparkConf, SparkContext} object wordcount { def main(args: Array[Stri ...

  2. ACL权限

    基本命令 getfacl 文件名 查看文件ACL权限 setfacl [选项] 文件名 设定文件ACL权限 -m 设定ACL权限 -b   删除ACL权限 -x:用户   删除单个用户的ACL权限 s ...

  3. 一个97年测试妹纸的成长经历,转正直接涨薪2K

    这篇文章,涉及测试团队管理.测试流程建设.测试从业者能力成长.优秀测试从业者的状态.以及同样是两年的Tester,为何他人如此优秀 . 一切的一切,都是有原因的 . 期望这篇文章,对关注「简尚」公号的 ...

  4. js对样式的操作

    本文有:对某个事件的来回操作实现对css样式的来回修改 .比如实现hover效果 <!DOCTYPE html> <html> <head> <meta ch ...

  5. Educational Codeforces Round 71 (Rated for Div. 2)-F. Remainder Problem-技巧分块

    Educational Codeforces Round 71 (Rated for Div. 2)-F. Remainder Problem-技巧分块 [Problem Description] ​ ...

  6. LabelEncoder save 离线使用

    For me the easiest way was exporting LabelEncoder as .pkl file for each column. You have to export t ...

  7. linux下分析java程序占用CPU、内存过高

    一.CPU过高分析 1)使用TOP命令查看CPU.内存使用状态可以发现CPU占用主要分为两部分,一部分为系统内核空间占用CPU百分比,一部分为用户空间占用CPU百分比.其中CPU状态中标示id的为空闲 ...

  8. Redis的竞争并发该如何解决?

    这个也是线上非常常见的一个问题,就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了.或者是多客户端同时获取一个key,修改值之后再写回去,只 要顺序错了,数据就错了. 而 ...

  9. win 10 VMware与Hyper-v共存

    管理员身份运行命令提示符 cmd bcdedit /copy {current} /d "Windows10 no Hyper-V bcdedit /set {XXXXXXXX-XXXX-X ...

  10. php 递归算法

    通过递归实现阶乘 function multi($n){ if($n == 0){ return 1 ;//终止递归 } $value = $n * multi($n-1); return $valu ...