我通过布局inflater在Activity的onCreate()
方法中加载一个布局。我想提供用户可以在我的应用程序的设置中设置的替代布局。
当用户在返回主活动之前更改设置时,是否只是使当前视图无效并在设置代码中膨胀新布局?或者我是否需要将if语句添加到活动onCreate
以使设置布局膨胀,因此需要用户在更改设置后重新启动应用程序?
由于
答案 0 :(得分:0)
当用户从您的主要活动导航到偏好设置活动时,您的主要活动会进入onPause()
生命周期方法,您的活动会转到后台。你失去了对主要活动的参考。在对共享首选项进行更改并且用户按下后退按钮后,您的主要活动将被带到前台。您可以在onResume()
中添加条件语句以检查用户是否选择了新布局。
我认为您在活动中使视图无效,而不是尝试刷新活动的整个布局(您可以通过将新布局传递到setContentView()
中的onResume()
来做,尽管有条件声明符合您的要求)。
答案 1 :(得分:0)
你需要在onCreate中使用setContentView ...这意味着你无法专门做到这一点,而是你必须完成并重新启动Activity。
使用片段提供您的内容并简单地将它们交换出来是更好的方法。