Android: остановить обновление активности, когда страница перейти на портрет в альбомном настроении


Я хочу остановить обновление активности, когда я перейду к портретному настроению в альбомное настроение, и я также хочу загрузить файл layout-land, когда он перейдет к портретному настроению в альбомное настроение без какого-либо обновления активности.

Я использую <activity android:name=".Login" android:configChanges="orientation|screenSize">

Но в этом методе, когда я перехожу на portrait to landscape mood, он не загружает файл из папки layout-land. что я должен сделать для этого? пожалуйста, кто-нибудь, помогите мне.

2 3

2 ответа:

Вызов метода setContentView (R. layout.main) в onConfigurationChanged ()

    @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 .
    }

Вам просто нужно добавить этот метод в свою активность, поскольку он обрабатывает все изменения ориентации, если вы объявили "ориентацию" в манифесте.

EDIT: и если EditTexts теряют свои значения при вращении, получите их значения перед вызовом setContentView () в onConfigurationChanged (). Смотрите правку выше.

Я решил эту проблему, только добавив android:configChanges="keyboardHidden|orientation"

Надеюсь, это поможет вам.