Android: остановка обновления Активность, когда страница перемещается в портретную ориентацию в альбомное

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

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

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

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

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

РЕДАКТИРОВАТЬ: И если EditTexts теряют свои значения при вращении, получить их значения перед вызовом setContentView() в onConfigurationChanged(). Смотрите редактирование выше.

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

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

Другие вопросы по тегам