Android的strings.xml里也能拼接字符串

2017-07-13 遇到的一点小问题

res文件夹里的strings.xml,有些文字比较频繁使用,每次修改都要查找替换,或者在代码里text.setText("客服电话:"+getString(R.string.phone));拼接。感觉都挺麻烦的,所以想找个拼接的方法。问了同事,正好他知道,感谢!试了下,效果不错。
首先就是在我们xml表最上方填写需要自定义的key和values。

<!DOCTYPE resources [
    <!ENTITY testName "123698547">
    <!ENTITY Wannoo "Hello">
    ]>

然后在resources里拼接。

<resources>
    <string name="phone">&testName;</string>
    <string name="service_phone">客服电话:&testName;</string>
    <string name="description">The Θ app was created by &Wannoo;</string>
    <string name="hellip">...</string>
    <string name="sigmaf">ς</string>

</resources>

然后就可以直接text.setText(getString(R.string.service_phone));使用了。

resources写法

resources使用

20210227

今天在看某个开源项目时,看到这个用法,更简单。

    <string name="app_name" translatable="false">@string/app_name_2</string>
    <string name="app_name_2" translatable="false">wannoo</string>
.

在里写strings.xml...三个点时,会提示使用字符&#823 0;来代替。

提示

其他一些类似的字符也可以,这个网上一搜很多

关于strings.xml里使用占位符,之前有在51CTO记录过,不是很全。正好今天被一个头像吸引过去看了篇博客,里面写得挺全面的,贴一下链接。
标题很长,整个贴出来。Android小技巧之相见恨晚系列-TextView/string.xml冷门小技巧:占位转换符%1s、%1d等的用法

2017-06-22 遇到的一点小问题
Error:Failed to resolve:

tools:replace="android:allowBackup

在某个小内存手机运行时出现:Android GC overhead limit exceeded,调试失败,别的手机不会。
网上找了下,有答案了,只要在app的build.gradle里添加相应代码就可以了。
不一定对,但刚好我那手机可以运行了。

dexOptions {
    incremental true
    javaMaxHeapSize "4g"
}
Android GC overhead limit exceeded
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容