致命异常:java.util.UnknownFormatConversionException 转换:מ

Fatal Exception: java.util.UnknownFormatConversionException Conversion: מ

此代码在 String.format(...):

上出错
inviterNameTitleView.setText(
                String.format(
                        context.getString(R.string.sharing_invite_title),
                        inviter.getNameForTitle()
                )
        );

R.string.sharing_invite_title<string name="sharing_invite_title">%s invites you to smth.</string>

出现此错误的原因可能是什么?导致错误的符号是从右到左的字母表字母。谷歌搜索没有给出任何答案。

将 % 替换为 \u0025

%是xml中的一个特殊字符。所以你不应该直接放置它。

事实证明,应用程序仅在使用 iw 代码(而不是 he)的希伯来语区域设置时崩溃,这在 [=20= 上使用旧代码很奇怪] 5.0。字符串文件中的相应字符串具有 s% 而不是 %s。那给了 UnknownFormatConversionException.

发生这种情况是因为 Android Studio 中缺少 RTL 支持。在这个问题中查看更详细的答案:Android strings.xml resource - arabic language and dynamic formatted strings