我有一个应用程序,使用onConfigurationChanged(Configuration cfg)
. 我也设置了android:configChanges="orientation|keyboardHidden"
. 所以这个onConfigChanged()
方法被调用了,因为我有两个方向的布局layout-land
和layout-port
目录,我有一段代码看起来像这样:
@Override
public void onConfigurationChanged(Configuration cfg) {
super.onConfigurationChanged(cfg);
setContentView(R.layout.activity_main);
controller.applySettingsToButtons();
}
(activity_main 和竖屏版的布局一样,但需要重新设置,否则应用程序会将竖屏版设置为横屏模式,我显然不想要)
我想要的是
我希望,当我旋转显示器时,让应用程序切换到layout-land
文件,并在切换后将一些(动态)设置应用于按钮和东西。
怎么了
设置了新的景观内容视图,但未应用按钮的设置,尽管该applySettingsToButtons()
方法已运行。
想法
首先,我认为 setContentview 可能在另一个线程中运行,导致applySettingsToButtons()
首先完成。但是当我将它们都放在一个新线程中并运行它时,会发生与以前相同的事情。
问题
设置另一个(或相同)内容视图后,如何将设置应用于按钮和内容?