不要硬编码任何字符串,对需要替换的字符串使用占位符

养成良好的开发习惯

不要硬编码任何字符串,将所有字符串放入strings.xml中

字符串中的占位符

对于不必翻译的文本,如代码、某个值的占位符、特殊符号或名称等,使用<xliff:g>占位符标记。使用占位符时,务必添加id属性来说明占位符用途;如果应用会替换该占位符的值,务必提供示例属性来说明预期用途。

三个例子:“30.5°”、“40分钟”、“(说明)”

  1. 不要使用tv.setText(temp + "°");tv.setText(min + "分钟");tv.setText("(" + 说明 + ")");这样的硬编码。
  2. 在strings.xml中定义字符串:
<!--对特殊符号使用Unicode编码-->
<string name="format_temperature">
     <xliff:g id="temperature">%1.0f</xliff:g>\u00B0
</string>
<string name="format_time">
     <xliff:g id="time">%d</xliff:g>分钟
</string>
<string name="format_description">
    \u0028<xliff:g id="description">%s</xliff:g>\u0029
</string>
  1. 在代码中使用:
float temp = 30.5; int min = 40; String des = "说明"(不推荐这么写,仅示例);
tv.setText(context.getString(R.string.format_temperature, temp)); //30.5°
tv.setText(context.getString(R.string.format_time, min));//40分钟
tv.setText(context.getString(R.string.format_description, des));//(说明)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • longaaaa =14200666; Console.WriteLine(aaaa.ToString("N0")...
    鱼落于天阅读 4,503评论 0 1
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,870评论 0 17
  • 我的父母生下了一个怪胎,这个怪胎震惊了世界!可是他们却非常开心,因为他们生下的我,是一棵摇钱树。 不是以后语文...
    西巷旧时阅读 1,828评论 2 4
  • 昨天很地气的转发一个图到自己闺蜜群,大概关于“如果你答对20个或者以上我的命都是你的”之类的问题们,身高星座爱吃的...
    jewelduan阅读 1,634评论 0 0

友情链接更多精彩内容