我在Android应用程序中遇到“string.format”的问题。在我的应用程序中,当用户将其语言首选项从默认(英语)更改为任何其他外语(日语,德语等)时,变量字符串定位会产生强制关闭错误。请参考以下代码:
temp = String.format(locale,getResources()。getString(R.string.temp_string),value,name);
其中,temp_string =“包裹号%1 $ d属于%2 $ s”默认选择(英语) 当其中一些语言被选中时%2 $ s出现在%1 $ d之前。由于申请人关闭。有没有办法动态处理变量字符串(值,名称)。
答案 0 :(得分:1)
我会做类似的事情:
temp = getResources().getString(R.string.temp_string, value, name);
如您所见,getString()
方法也可以接收要格式化的参数。然后,将不同的字符串资源放在不同的文件夹例如:
res/
values/
string.xml <--- here you put "The parcel number %1$d belongs to %2$s"
values-de/
string.xml <--- here you put "The parcel number %2$d belongs to %1$s"
我只是给你一个例子;我其实不知道德国的订单是怎样的。我只是想解释一下你实际需要尝试的内容。