你只需要为TimeZone和Locale调用一次setDefault()吗?

时间:2016-02-19 16:37:22

标签: java android calendar

其中一个[tableView dequeueReusableCellWithIdentifier:CONTACT_CELL forIndexPath: indexPath]; 构造函数同时接受 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { ContactCell *cell = [tableView dequeueReusableCellWithIdentifier:CONTACT_CELL]; if (cell == nil) { NSLog(@"Cell was empty!"); cell = [UITableViewCell alloc] initWithStyle:<#(UITableViewCellStyle)#> reuseIdentifier:<#(nullable NSString *)#>]; } Contact *c = [contacts objectAtIndex:[indexPath row]]; [[cell labelName] setText: [c getName]]; [[cell labelPhone] setText: [c getPhone]]; return cell; } Calendar.getInstance()TimeZoneLocale都有TimeZone函数同步方法

在Android环境中,这是否意味着我只需要在活动Locale上调用一次?如果我这样做,如果活动暂停并恢复怎么办?或者,我可以在我的自定义应用程序类setDefault()上调用这些onCreate(),忘记Android生命周期如何影响我的日历值吗?

最重要的是,在Android中setDefault()使用的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

虽然我必须重申@Andreas&#39;指出你真的不应该这样做;如果必须,那么在整个过程中调用它们就足够了,因为它们存储在static个字段中。

如果您有Application的子类,则应该覆盖Application.onCreate()并在那里设置值。

如果您担心只有一组本地化字符串,那么更好的建议是将所有已翻译的字符串放入默认的values目录(通常用于en个字符串,但如果它是您唯一的翻译,这是最好的方法)。这样,用户所处的区域设置并不重要,它们只会看到这组字符串。