充气新布局以替换现有布局

时间:2013-01-21 13:11:52

标签: android layout-inflater

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

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

由于

2 个答案:

答案 0 :(得分:0)

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

我认为您在活动中使视图无效,而不是尝试刷新活动的整个布局(您可以通过将新布局传递到setContentView()中的onResume()来做,尽管有条件声明符合您的要求)。

答案 1 :(得分:0)

你需要在onCreate中使用setContentView ...这意味着你无法专门做到这一点,而是你必须完成并重新启动Activity。

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