欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

setText的优化

程序员文章站 2024-03-24 11:03:16
...

Android的许多UI控件都有显示文字的功能,如TextView、EditText等UI控件。这些控件都通过setText方法设置显示字体,如在一个textView显示距离过年还有x天x时x秒,可以这么写:

textView.setText("距离过年还有" + mDay + "天" + mHour + "时" + mSecond + "秒");

但明显这么写很不规范,且性能不好,如果使用Android Studio,它还会提示如下警告:
Do not concatenate text displayed with setText,use resource string with placeholders
要消除该警告以及规范化代码,可以做以下实现:
在string.xml中添加string资源声明:

<string name="delay_time">距离过年还有%1$d天%2$d时%3$d秒</string>

在代码中使用:

textView.setText(String.format(getResource().getString(R.id.delay_time), mDay, mHour, mSecond));

这样代码就规范许多,同时消除了上述的警告。
常用格式:
%ns--->n表示目前是第几个参数 (比如%1s中的1代表第一个参数),s代表字符串
%nd--->n表示目前是第几个参数 (比如%1d中的1代表第一个参数),d代表整数
%nf--->n表示目前是第几个参数 (比如%1f中的1代表第一个参数),f代表浮点数
最后,列出参考学习的博客:
Android中的一些使用技巧