实际开发的过程中我们有时候会遇到,一个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. request-html 简单爬虫

    import asyncio from requests_html import HTMLSession url = 'http://www.xiaohuar.com/hua/' session = ...

  2. CV2识别图片A,B,C,D

    这个模型是经过简单训练,只能识别四个英文字母:ABCD,是我为了提取答案才训练的,因为科大,百度,以及腾讯的识别不是很准,所以自己训练自己使用,希望能够给你带来方便.下面是训练好的model,如多你感 ...

  3. linux ssh_config和sshd_config配置文件学习

    在远程管理linux系统基本上都要使用到ssh,原因很简单:telnet.FTP等传输方式是‍以明文传送用户认证信息,本质上是不安全的,存在被网络窃听的危险.SSH(Secure Shell)目前较可 ...

  4. UniChat-软件工程小组-第一次作业-选题

    软件工程小组项目文档 小组成员:赵有为.张天善.宋春雨.郭凯璐.孙楠.冯韵瑶 Uni-Chat项目文档 需求分析Need ​ 日常生活中我们在使用Ubuntu等系统时都会因为QQ等聊天工具对基于Lin ...

  5. java基础(12)---异常

    一.throws和throw 用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常. 区别: 1.概念 throws E1,E2,E3只是告诉程序这个 ...

  6. LOJ#3104「TJOI2019」甲苯先生的字符串

    题目描述 一天小甲苯得到了一条神的指示,他要把神的指示写下来,但是又不能泄露天机,所以他要用一种方法把神的指示记下来. 神的指示是一个字符串,记为字符串 \(s_1\),\(s_1\) 仅包含小写字母 ...

  7. postgresql —— 表的继承

    示例: CREATE TABLE cities ( --父表 name text, population float, altitude int ); CREATE TABLE capitals ( ...

  8. test20190827 NOIP2019 模拟赛

    100+100+50=250.最后那道期望题需要用另外的方式统计. 精灵加护 ljss 被 M 个敌人打倒在地上啦!每个敌人有一个威力值 bi.但是他手中还拥有 N 把武器!每把武器有一个威力值 ai ...

  9. php 常用字符串函数总结

    php里面自带的字符串函数,日期函数,数组函数等,有时候可以帮助我们解决很复杂的问题,运用起来也比较简单. 下面总结了一下常用的字符串函数. addcslashes — 为字符串里面的部分字符添加反斜 ...

  10. vue PC端,用到的知识

    1.vue中通过路由跳转的三种方式      https://blog.csdn.net/qq_40072782/article/details/82533477 2.数组解构,对象解构:https: ...