需求

tvWeight.setText("当前体重:" + weight + "公斤"); 这样使用,会提示: Do not concatenate text displayed with setText. Use resource string with placeholders.

解决

需要先在 strings.xml 中申明字符串格式, 然后使用 String.format 来设置替换的实际值。

  • s: 字符串
  • d: 整数
  • f: 浮点数
<string name="current_time">当前日期:%1$d年%2$d月%3$d日</string>
// 设置显示当前日期
TextView tvDate = (TextView) findViewById(R.id.main_tv_date);
tvDate.setText(String.format(getResources().getString(R.string.current_time),year,month,day));

参考