setText的优化

作者: 我啊翔1314 | 来源:发表于2018-07-05 15:34 被阅读120次

    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中的一些使用技巧

    相关文章

      网友评论

        本文标题:setText的优化

        本文链接:https://www.haomeiwen.com/subject/tkypuftx.html