This code gives error on String.format(...):
inviterNameTitleView.setText(
String.format(
context.getString(R.string.sharing_invite_title),
inviter.getNameForTitle()
)
);
R.string.sharing_invite_title
is <string name="sharing_invite_title">%s invites you to smth.</string>
What could be the reason of this error? The symbol that results in error is a right-to-left alphabet letter. Googling doesn't give any answers.
答案 0 :(得分:0)
将%替换为\ u0025
%是xml中的特殊字符。所以你不应该直接放置它。
答案 1 :(得分:0)
事实证明,应用程序只在使用iw
代码(不在he
)上的希伯来语语言环境时崩溃,这在Android 5.0上有旧代码很奇怪。字符串文件中的相应字符串包含s%
而不是%s
。这给了UnknownFormatConversionException
。
这是因为Android Studio中缺少RTL支持。请在此问题中查看更详细的答案:Android strings.xml resource - arabic language and dynamic formatted strings