gpt4 book ai didi

java - 在 string.xml 中将占位符与 % 符号一起用于 String.format()

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:19:24 29 4
gpt4 key购买 nike

我在 string.xml 中使用占位符 %1$d 作为 int 值,然后我想在相同的 TextView 中显示 % 登录> 所以它是 %。所以我一直这样使用它。

<string name="uploadProgress">%1$d&#37;<string>

现在在 Java 代码中我是这样使用它的。

int progress = 10;
textView.setText(String.format(getString(R.string.uploadProgress), progress));

但它显示:

java.util.UnknownFormatConversionException: Conversion:

我试过:

  1. % 而不是 %
  2. %1$d% 之间放一个空格(但我不想要空格实际上。)

但运气不好。我怎样才能做到这一点?我已经查看了另一个 SO 问题以寻求解决方案,但我找不到特定的问题。

最佳答案

我也遇到过。有两种方法可以转义 XML 字符串资源中的文字百分号。

对于您的情况(带参数的字符串,例如 %1$d),您应该使用 %% 来转义百分号文字。

如果您的字符串没有参数,那么您应该使用 \u0025 来转义百分号。

如果您在不带参数的字符串中使用%%,那么getString() 会将其解析为文字%% 而不是转义它。如果您在字符串中使用 \u0025 参数,则 getString() 将在尝试处理该 % 时崩溃作为格式参数。

关于java - 在 string.xml 中将占位符与 % 符号一起用于 String.format(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38466008/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com