3

当我从纵向心情转到横向心情时,我想停止活动刷新,并且我还想在它从纵向转到横向心情时加载文件布局,而不需要对活动进行任何刷新。

我用<activity android:name=".Login" android:configChanges="orientation|screenSize">

但是,在这种方法中,当我从纵向转为横向时,它不会从 layout-land 文件夹加载文件。我该怎么办?请有人帮助我。

4

2 回答 2

3

在 onConfigurationChanged() 中调用方法 setContentView(R.layout.main)

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);

        ///in case you have some EditTexts , save their input before setting the new layout.
        emailForConfigChanges = emailTextBox.getText().toString().trim();
        passwordForConfigChanges = passwordTextBox.getText().toString().trim();

        setContentView(R.layout.main);

        //Now set the values back to the EditTexts .
    }

如果您在清单中声明了“方向”,您只需将此方法添加到您的活动中,因为它会处理所有方向更改。

编辑:如果 EditTexts 在旋转时丢失它们的值,请在 onConfigurationChanged() 中调用 setContentView() 之前获取它们的值。请参阅上面的编辑。

于 2012-10-09T07:27:06.263 回答
1

我只通过添加来处理这个问题android:configChanges="keyboardHidden|orientation"

希望这会帮助你。

于 2012-10-09T07:31:23.427 回答