onCreate()
我通过布局充气器在主 Activity 的方法中加载布局。我想提供用户可以在我的应用程序设置中设置的替代布局。
当用户在返回主活动之前进行设置更改时,是否只是使当前视图无效并在设置代码中膨胀新布局的问题?或者我是否需要在 Activity 中添加 if 语句来onCreate
增加设置的布局,因此需要用户在更改设置后重新启动应用程序?
谢谢
onCreate()
我通过布局充气器在主 Activity 的方法中加载布局。我想提供用户可以在我的应用程序设置中设置的替代布局。
当用户在返回主活动之前进行设置更改时,是否只是使当前视图无效并在设置代码中膨胀新布局的问题?或者我是否需要在 Activity 中添加 if 语句来onCreate
增加设置的布局,因此需要用户在更改设置后重新启动应用程序?
谢谢
当用户从您的主要活动导航到偏好活动时,您的主要活动进入onPause()
生命周期方法,您的活动进入后台。你失去了对主要活动的参考。在对共享首选项进行更改并且用户按下后退按钮后,您的主要活动将被带到前台。您可以添加条件语句onResume()
来检查用户是否选择了新布局。
我认为您正在使活动中的视图无效,而不是尝试刷新活动的整个布局(您可以通过将新布局传递给setContentView()
inonResume()
尽管条件语句来满足您的要求)。
您需要在 onCreate 中使用 setContentView 执行此操作...这意味着您不能临时执行此操作,而是必须完成并重新启动 Activity。
使用 Fragments 提供您的内容并简单地将它们换出是更好的方法。