2

onCreate()我通过布局充气器在主 Activity 的方法中加载布局。我想提供用户可以在我的应用程序设置中设置的替代布局。

当用户在返回主活动之前进行设置更改时,是否只是使当前视图无效并在设置代码中膨胀新布局的问题?或者我是否需要在 Activity 中添加 if 语句来onCreate增加设置的布局,因此需要用户在更改设置后重新启动应用程序?

谢谢

4

2 回答 2

0

当用户从您的主要活动导航到偏好活动时,您的主要活动进入onPause()生命周期方法,您的活动进入后台。你失去了对主要活动的参考。在对共享首选项进行更改并且用户按下后退按钮后,您的主要活动将被带到前台。您可以添加条件语句onResume()来检查用户是否选择了新布局。

我认为您正在使活动中的视图无效,而不是尝试刷新活动的整个布局(您可以通过将新布局传递给setContentView()inonResume()尽管条件语句来满足您的要求)。

于 2013-01-22T11:38:29.210 回答
0

您需要在 onCreate 中使用 setContentView 执行此操作...这意味着您不能临时执行此操作,而是必须完成并重新启动 Activity。

使用 Fragments 提供您的内容并简单地将它们换出是更好的方法。

于 2013-02-02T03:53:23.240 回答