为了格式的字符串,我总是用String.format(getString(R.string.something),arg1)
的String.format或的getString
但是我看到的文档getString(string, args)
上能做到这一点。
因此,我不知道为什么大家都用的String.format如果的getString可以做同样的
谢谢
为了格式的字符串,我总是用String.format(getString(R.string.something),arg1)
的String.format或的getString
但是我看到的文档getString(string, args)
上能做到这一点。
因此,我不知道为什么大家都用的String.format如果的getString可以做同样的
谢谢
你们错了,有没有方法Resources.getString(string, args...)
或Context.getString(string, args...)
。有Resources.getString(int, args...)
需要一个int和对象。
格式化字符串时,您可以使用String.format(string, args...)
。但在Android中,您的字符串资源可能位于res文件夹中,因此您可以使用便利的方法从资源中获取字符串并将其格式化为String.format
。它为你做同样的事情(taken from Android source):
@NonNull
public String getString(@StringRes int id, Object... formatArgs) throws NotFoundException {
final String raw = getString(id);
return String.format(mResourcesImpl.getConfiguration().getLocales().get(0), raw,
formatArgs);
}
你会用它喜欢:
getString(R.string.something, arg1)
,并保存自己一些打字。
对不起,是的,你是对的。我第一次误解了你的答案,因为它是用一种相当复杂的语言写成的。 –
我假设他的问题实际上是指'Resources.getString(int,args ...)'而且它的目的更多是为了他们为什么使用一种方法 – Doomsknight
答案是肯定的。在这里看到最有价值的ansewr。 http://stackoverflow.com/questions/12627457/format-statement-in-a-string-resource-file – Doomsknight
@Doomsknight,问题是'为什么?'。答案不能是'Yes' –
@VladMatvienko错误的措辞抱歉。我的意思是他们是一样的,除了一个更直接。并不是每个人都知道更好的方法,并且根据相关答案,您可以看到接受的答案表示一种方法,最高的答案表示第二种方法。所以它更多的是人们遇到的东西。我也不总是以最佳方式编程。在某些编码方式已经记录之后,还会在以后推出一些API。 – Doomsknight