爲了格式的字符串,我總是用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