Calendar.getInstance()构造函数之一同时接受TimeZoneLocale,并且TimeZoneLocale都具有作为同步方法的setDefault()函数。

在Android环境中,这是否意味着我只需要在Activity onCreate()上调用一次即可?如果我这样做,那么如果活动被暂停并恢复,该怎么办?另外,是否可以在自定义应用程序类setDefault()上调用这些onCreate(),而忘记了Android生命周期如何影响我的Calendar的值?

最重要的是,Android中setDefault()使用的最佳实践是什么?

最佳答案

虽然我不得不重申@Andreas的观点,但您实际上不应该这样做;如果需要,则在整个过程中调用它们一次就足够了,因为它们存储在static字段中。

如果您有Application的子类,则覆盖Application.onCreate()并在其中设置值就足够了。

如果您担心只有一组本地化的字符串,更好的建议是将所有翻译后的字符串放入默认的values目录(通常用于en字符串,但是如果这是唯一的翻译,则此是最好的方法)。这样,用户所在的语言环境都不重要,他们只会看到这组字符串。

10-08 13:58