作为一个练习,我正在制作一个订购披萨的简单应用程序 - 选择大小(影响价格)加上额外的配料(也影响价格)。
结果,订单金额被敲出:
total.setText(getString(R.string.total_price_output) + String.format("%.02f", calculateTotal()));
这里的 total_price_output 是 strings.xml 中的短语“Total Price: $”,calculateTotal() 方法只计算订单的总成本,同时考虑到尺寸和配料。
一切正常,但 Android Studio 用黄色破折号突出显示这条线,即 该代码不遵循礼貌规则,并给了我这个建议:
不要连接使用 setText 显示的文本。将资源字符串与占位符一起使用。
如何进行?添加一个变量,现在将 setText() 中的任何内容分配给它,然后在该变量上调用 setText()?
该工作室表示,在资源中使用占位符更正确。
官方文档中的一个示例(标题格式化字符串)。
资源文件中的行:
调用代码:
该值将被替换
%1$s为资源字符串中的原位,并且-username原位。同时在占位符中表示一个字符串,以及- 一个数字。%2$dmailCountsd结果,我们得到一个字符串:Hello, Petrov!您有 3 条新消息