Android TextView : “Do not concatenate text displayed with setText”

Posted 竹山一叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android TextView : “Do not concatenate text displayed with setText”相关的知识,希望对你有一定的参考价值。

参考:http://stackoverflow.com/questions/33164886/android-textview-do-not-concatenate-text-displayed-with-settext

 

在Activity中对TextView进行动态更新显示数据时,如果使用:

RGB_textview.setText(settingData.Image_R + "," + settingData.Image_G + "," + settingData.Image_B);

则Android Studio 会提示:“Do not concatenate text displayed with setText,use resource string with placeholders”,

应改为:

RGB_textview.setText(getString(R.string.RGB_value_string, settingData.Image_R, settingData.Image_G, settingData.Image_B));
<string name="RGB_value_string">%1$d,%2$d,%3$d</string>

不修改也能正常运行,但修改一下会更加规范。


常用格式:
%n$s--->n表示目前是第几个参数 (比如%1$s中的1代表第一个参数),s代表字符串
%n$d--->n表示目前是第几个参数 (比如%1$d中的1代表第一个参数),d代表整数
%n$f--->n表示目前是第几个参数 (比如%1$f中的1代表第一个参数),f代表浮点数


When calling TextView#setText:

  • Never call Number#toString() to format numbers; it will not handle fraction separators and locale-specific digits properly. Consider using String#format with proper format specifications (%d or %f) instead.
  • Do not pass a string literal (e.g. "Hello") to display text. Hardcoded text can not be properly translated to other languages. Consider using Android resource strings instead.
  • Do not build messages by concatenating text chunks. Such messages can not be properly translated.

 



















以上是关于Android TextView : “Do not concatenate text displayed with setText”的主要内容,如果未能解决你的问题,请参考以下文章

android textview啥意思

Android从零单排系列六《Android视图控件——TextView》

Android从零单排系列六《Android视图控件——TextView》

Android从零单排系列六《Android视图控件——TextView》

Android textView中划线

Android—— TextView文字链接4中方法