我怎样才能解决这个错误字符串xliff?

时间:2018-04-06 13:20:33

标签: android xml string format xliff

我有这个字符串:

<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;不是有效的字符串。

我找不到错误,我该怎么办?

2 个答案:

答案 0 :(得分:0)

将样式化文本资源存储为HTML转义字符串:

<resources>
  <string name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/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"));