实际开发的过程中我们有时候会遇到,一个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. mqtt服务搭建(emqx,原emq)

    系统环境: ubuntu 18.04server lts 目标系统IP地址(可访问):192.168.1.31 emqx版本: v3.2.3 打开网页,根据目标系统和emqx版本选择好安装包.这里我选 ...

  2. kubernetes 故障排除、处理、预防

    kubernetes 故障排除.处理.预防 故障排除顺序和思路 第一步: 我们可以通过查看节点是否正常,一是保证 K8S API Server 是正常的,二是可以查看节点集群网络中是否存在节点异常.如 ...

  3. WLAN实验1:划分不同VLAN及Acess配置

    实验环境 公司是一个较大的局域网,二层交换机S1放置在一楼,一楼有IT部门和人事部门.二层交换机S2放置在二楼,二楼有市场部和研发部.公司的策略是:不同部门的主机之间不能相互通信,同一部门的主机才可以 ...

  4. onvirt安装linux系统

    情况说明: (1)本文接前文kvm虚拟化学习笔记(十九)之convirt集中管理平台搭建,采用convirt虚拟化平台安装linux操作系统的过程,这个过程中需要对convirt进行一系列的配置才能真 ...

  5. 彻底终结MySQL同步延迟问题

    作为一名DBA,在工作中会经常遇到一些MySQL主从同步延迟的问题,这些同步慢的问题,其实原因非常多,可能是因为主从的网络问题导致,可能是因为网络带宽问题导致,可能是因为大事务导致,也可能是因为单线程 ...

  6. 基于Java的支持可变QPS的http负载生成器,提供交互界面和RMI接口

    Load generator The load generator is a Java maven project which is implemented using httpclient+thre ...

  7. 基于Java+Selenium的WebUI自动化测试框架(十一)-----读取Excel文件(POI)(1)

    上一篇说了利用JXL的jar包来读取Excel的代码.在Java中,还可以用另外一种jar包来读取Excel的内容,那就是Apache的POI. 这里和之前一样,需要导入POI的jar包,建议导入这三 ...

  8. 微信小程序~App.js中获取用户信息

    (1)代码:主要介绍下获取用户信息部分 onLaunch: function () { // 展示本地存储能力 var logs = wx.getStorageSync('logs') || [] l ...

  9. 小程序框架之视图层 View~获取界面节点信息

    获取界面上的节点信息 WXML节点信息 节点信息查询 API 可以用于获取节点属性.样式.在界面上的位置等信息. 最常见的用法是使用这个接口来查询某个节点的当前位置,以及界面的滚动位置. 示例代码: ...

  10. Java设计模式的6大原则

    Java设计模式的6大原则 1.开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭.在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果.简单来 ...