Java 字符串格式参数在android上的String.xml中不起作用
在我的代码中,我使用以下命令将string参数发送到string.xmlJava 字符串格式参数在android上的String.xml中不起作用,java,android,xml,string,string-formatting,Java,Android,Xml,String,String Formatting,在我的代码中,我使用以下命令将string参数发送到string.xml String.format(getString(R.string.notification_devil_expire_coupon_for_one_user), "iphone", String.valueOf(loggedInUser.getExpiryReminder())); 在string.xml中,我使用它来获取参数 <string name="notification_devil_expire_cou
String.format(getString(R.string.notification_devil_expire_coupon_for_one_user), "iphone", String.valueOf(loggedInUser.getExpiryReminder()));
在string.xml中,我使用它来获取参数
<string name="notification_devil_expire_coupon_for_one_user">Do you even shop, bro? Your <xliff:g id="retailer">%s1</xliff:g> coupon expires in <xliff:g id="endDate">%s2</xliff:g> days.</string>
但我的输出是
Do you even shop, bro? Your iphone1 coupon expires in 32 days.
参数编号添加到字符串中。我不知道我在代码中哪里做错了字符串格式化程序用有序列表中的值替换
%s
。没有必要给它们编号。因此,不要使用%s1
和%s2
而是像这样在每个地方使用%s
<string name="notification_devil_expire_coupon_for_one_user">Do you even shop, bro? Your <xliff:g id="retailer">%s</xliff:g> coupon expires in <xliff:g id="endDate">%s</xliff:g> days.</string>
你购物吗,兄弟?您的%s优惠券将在%s天后过期。
字符串格式化程序用有序列表中的值替换%s
。没有必要给它们编号。因此,不要使用%s1
和%s2
而是像这样在每个地方使用%s
<string name="notification_devil_expire_coupon_for_one_user">Do you even shop, bro? Your <xliff:g id="retailer">%s</xliff:g> coupon expires in <xliff:g id="endDate">%s</xliff:g> days.</string>
你购物吗,兄弟?您的%s优惠券将在%s天后过期。
为参数编号是一种很好的做法,因为顺序可能会因语言而异。如果只有一个参数是%s,则几个参数将是%1$s、%2$s等。为参数编号是一种良好的做法,因为顺序可能会因语言而异。如果只有一个参数是%s,则有几个参数将是%1$s、%2$s等