【问题标题】:Android Lint "is not a valid format string" error in string of xml filexml文件字符串中的Android Lint“不是有效的格式字符串”错误
【发布时间】:2023-03-31 02:00:01
【问题描述】:

我想在我的屏幕上显示这样一个标题,“最多便宜 30%”。

所以,我的 xml 文件中有这个:<string name="title">Up to %d%% cheaper</string>

在代码中:mTitle.setText(getString(R.string.title, 30));

虽然它工作正常并且我看到了上面的消息,但是我收到了 lint 错误,上面写着:

如何摆脱这个错误?

【问题讨论】:

标签: android string-formatting android-lint


【解决方案1】:

我刚刚遇到了同样的问题,并找到了解决方法: 您需要为替换字符串分配一个位置。因此,您必须使用%1$d%% 而不是 %d%%(%1 表示位置,$d 指定类型)。此外,与预期相反,formatted="false" 确实 NOT 删除了警告。事实上,只有在我删除了那部分之后,警告才消失。

【讨论】:

    【解决方案2】:

    试试这个: <string name="title">Up to %1$d%% cheaper</string>

    【讨论】:

    • 感谢您的帮助,但我之前尝试过,没有任何区别。基本上 1$ 在有多个参数时使用,否则没有任何区别。
    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 2018-09-15
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多