Calendar.getInstance()
其中一個構造函數接受TimeZone
和Locale
,並且TimeZone
和Locale
都有一個setDefault()
函數,它是一個同步方法。您是否只需要爲TimeZone和Locale調用setDefault()一次?
在Android的上下文中,這是否意味着我只需要在Activity onCreate()
上調用一次?如果我這樣做,如果活動暫停並恢復,該怎麼辦?或者,我可以在我的自定義應用程序類onCreate()
上調用這些setDefault()
,以忘記Android生命週期如何影響我的日曆的價值?
最重要的是,在Android中使用setDefault()
的最佳做法是什麼?
最佳做法是不要打電話給他們。他們默認爲電話設置,這意味着用戶的偏好,所以你爲什麼要改變他們的東西? – Andreas
@Andreas根據TimeZone.class中的doc,你的陳述是不準確的:'只覆蓋當前進程的默認時區。 param timeZone自定義時區,或{code null}將默認值設置爲用戶的首選值。「 –
這是怎麼說我錯了?我說'TimeZone'和'Locale'的默認值已經從手機的設置中設置好了,也就是用戶的喜好。你的引用並不矛盾。它只定義瞭如果你打電話給他們會發生什麼事,而我只是在談論他們根本不打電話給他們。 – Andreas