竹山一叶

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  390 随笔 :: 0 文章 :: 0 评论 :: 0 引用

参考: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.

 






posted on 2017-05-24 13:44 竹山一叶 阅读(...) 评论(...) 编辑 收藏