我有这个字符串:
<string name="order_summary_name">Name: <xliff:g id="name" example="Thomas">%s</xliff:g></string>
以这种格式使用它:
priceMessage=getString(R.string.order_summary_name,name);
我不断收到错误消息:格式字符串&#39; order_summary_name&#39;不是有效的字符串。
我找不到错误,我该怎么办?
答案 0 :(得分:0)
将样式化文本资源存储为HTML转义字符串:
<resources>
<string name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.</string>
</resources>
在此格式化字符串中,添加了一个元素。请注意,使用&lt;开头括号进行HTML转义。符号
然后像往常一样格式化字符串,但也调用fromHtml(String)将HTML文本转换为样式文本:
String text = getString(R.string.welcome_messages, username, mailCount);
String styledText = Html.fromHtml(text);
<强>(或)强>
String styledText = Html.fromHtml(R.string.order_summary_name,name);
https://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling
答案 1 :(得分:0)
id属性仅用于标识替换参数表示的内容(在您的情况下,它表示数量)。它就像你说的那样,是一个注释,而不是以编程方式实际使用。
也就是说,在Android Studio中,如果您为字符串启用了代码折叠,则在显示折叠字符串时它将替换为ID。你会看到类似的东西:
试试这个。
mTextView.setText(getString(R.string.order_summary_name, "Thoma"));