Android中字符串资源使用记录

使用占位符(Context类getString(@StringRes int resId, Object… formatArgs)的使用)

 %1$s表示替换的为String类型;
 %1$d表示替换的为int类型;
 数字表示替换字符串中要替换的位置,若一个字符串要替换两个int类型,在替换位置分别写%1$d和%2$d;
 %s 、%d为缩写方式,只替换一个位置,可以这么写;
  • 例子
//string.xml定义
<string name="remove_family_sure">确定要删除亲友‘%s’吗?</string>

//字符串 “确定要删除亲友‘张三’吗?”
String str=String.format(mContext.getString(R.string.remove_family_sure),"张三");
  • 例子
<string name="ahieveinfo">来这里的第%1$d天,已获得%2$s个成就</string>

//来这里的第1天,已获得五十个成就
tv.setText(String.format(mContext.getString(R.string.ahieveinfo),1,"五十"));
问题记录:java.util.UnknownFormatConversionException
错误原因:%d\%  
错误分析:以为\是转义符,其实是错误的
要写成%d%%
常见的一些转换符
转换符说明示例
%s字符串类型github
%c字符类型c
%b布尔类型true
%d整数类型(十进制)1024
%x整数类型(十六进制)FF
%o整数类型(八进制)77
%f浮点类型99.66
%a十六进制浮点类型FF.35AE
%e指数类型9.38e+5
%g通用浮点类型(f和e类型中较短的)
%h散列码
%%百分比类型
%n换行符
%tx日期与时间类型(x代表不同的日期与时间转换符)

支持以下 HTML 元素:

粗体:<b>、<em>
斜体:<i>、<cite>、<dfn>
文本放大 25%:<big>
文本缩小 20%:<small>
设置字体属性:<font face=”font_family“ color=”hex_color”>。可能的字体系列示例包括 monospace、serif 和 sans_serif。
设置等宽字体系列:<tt>
删除线:<s>、<strike>、<del>
下划线:<u>
上标:<sup>
下标:<sub>
列表标记:<ul>、<li>
换行符:<br>
区隔标记:<div>
CSS 样式:<span style=”color|background_color|text-decoration”>
段落:<p dir=”rtl | ltr” style=”…”>

数组字符串使用

string.xml中定义一个数组

<string-array name="clear_set">
        <item>未选择任何操作,可用内存为%3$s</item>
        <item>杀死了%1$d个进程,可用内存为%3$s</item>
        <item>清除了%2$s缓存,可用内存为%3$s</item>
        <item>杀死了%1$d个进程,清除了%2$s缓存,可用内存为%3$s</item>
        <item>关闭悬浮图标.</item>
</string-array>

在需要使用的地方使用Resource的getStringArray方法获取

Resources res =getResources();
String[] formats=res.getStringArray(R.array.clear_set);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值