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>
2 <string name="string_conversion">String: %1$s\n</string>
3 <string name="integer_conversion">Integer: %1$d\n</string>
4 <string name="float_conversion">Float: %1$.2f\n</string>
5 <string name="date_or_time_conversion">Year: %1$tY, Month: %1$tM, Day:%1$td</string>

MainActivity.java

 1 public class MainActivity extends ActionBarActivity {
 2
 3     @Override
 4         protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6             setContentView(R.layout.ac_main);
 7
 8             TextView text = (TextView) findViewById(R.id.ac_main_text);
 9             StringBuilder builder = new StringBuilder();
10             builder.append(
11                     getResources().getString(R.string.boolean_conversion, true));
12
13             builder.append(
14                     getResources().getString(R.string.string_conversion, "hello world"));
15
16             builder.append(
17                     getResources().getString(R.string.integer_conversion, 1234));
18
19             builder.append(
20                     getResources().getString(R.string.float_conversion, 1234.5678));
21
22             Calendar calendar = Calendar.getInstance();
23             builder.append(
24                     getResources().getString(R.string.date_or_time_conversion, calendar));
25
26             text.setText(builder.toString());
27     }
28 }

Android字符串中使用占位符

时间: 2024-10-12 00:27:12

Android字符串中使用占位符的相关文章

Java C# C语言中的占位符

一般拼接一段字符串在编程中是很常见的事,下面简单做个总结: 什么是占位符?占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号. 1.Java中处理方法: package com.amos; import java.text.MessageFormat; /** * Created by amosli on 14-7-24. */ public class Test { public static void main(String args[]) { //拼接一段string 常用的方法

配置文件或者模板中的占位符替换工具类

有时候.非常多文本存入数据库或者文件里,某些变量或者模板中会存在占位符的情况,然而每次读取,一个个去字符串.replace去替换就非常麻烦,于是写个占位符替换工具类 详细代码: import java.util.HashMap; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 配置文件或模板中的占位符替换工具类 * Date: 15-5-8 * Time: 下午4:12 */

boost在lambda表达式中调用占位符参数的成员函数的方法

boost中提供了lambda表达式的用法,但是lambda表达式的功能还不是很强大,在其中只能对lambda的占位符参数_1等使用最基本的操作符,如+-*/,可是很多时候如果传入的占位符参数是一个对象指针的话,我们可能想要调用这个类的成员函数. 我在开发中遇到了这个问题,需要在stl的算法中传入一个函数来调用对象的比较函数,因为感觉这样太麻烦,还需要重新定义一个函数,所以想起了lambda表达式,c++11的lambda表达式我倒是没试过,可是受项目开发环境所限,只能选择boost.但是我用的

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

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

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

c++11模拟boost中元占位符

准备实现meta programming的fold函数,发现自己缺少占位符实现,这样传入fold的transform op类(元函数)都不得不另外写个外覆类,其实我觉得没啥不好,简单直接,说实话干扰什么的没那么严重,一个功能块里能用fold的地方能有几次?但动了占位符这个念头,就想尝试实现一下. 看一下实际情景: template<typename TList, typename Init, class TransformOp> struct fold_s {}; 我们可能会希望把push_b

SQl语句中使用占位符的优点

1.增加SQL代码可读性2.占位符可以预先编译,提高执行效率3.防止SQL注入4用占位符的目的是绑定变量,这样可以减少数据SQL的硬解析,所以执行效率会提高不少 绑定变量是Oracle解决硬解析的首要利器,能解决OLTP系统中library cache的过度耗用以提高性能 绑定变量是Oracle解决硬解析的首要利器,能解决OLTP系统中library cache的过度耗用以提高性能.然刀子磨的太快,使起来锋利,却容易折断.凡事皆有利弊二性,因地制宜,因时制宜,全在如何权衡而已.本文讲述了绑定变量

1.6 文件依赖中的占位符的用法

结构:~/blog/user/common/1.0.0/common.js (id: 'user/common:1.0.0');~/blog/user/art/1.0.0/art.js (id: 'user/art:1.0.0'); ~/blog/user/art/1.0.0/exports/add.js(id: 'user/art:1.0.0/add'); art.js中依赖common.js的写法 var common = require('$family/common/1.0.0'); 要

hibernate查询语句hql中的占位符?参数与命名参数:name设值方式搞混

先贴出异常 Struts has detected an unhandled exception: Messages: Position beyond number of declared ordinal parameters. Remember that ordinal parameters are 1-based! Position: 1 File: org/hibernate/engine/query/spi/ParameterMetadata.java Stacktraces org.h