Как мне справиться с изменениями ориентации экрана при активности, запущенной в рамках активности вкладки - PullRequest
1 голос
/ 02 ноября 2010

У меня есть TabActivity, и каждая вкладка соответствует своей активности. В одном из них в методе onCreate я использую startActivityForResult, чтобы показать диалог (в частности, действие Bump BumpAPI).

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    bump = new Intent(this, BumpAPI.class);
    bump.putExtra(BumpAPI.EXTRA_API_KEY, API_KEY);
    startActivityForResult(bump, BUMP_API_REQUEST_CODE);
}

Проблема заключается в том, что при изменении ориентации экрана он пытается снова создать действие вкладки, которое создает другой диалог BumpAPI, в результате чего несколько элементов накладываются друг на друга. Есть ли у меня зацепка в запущенном действии, чтобы отменить предыдущее при изменении ориентации?

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

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

1 Ответ

1 голос
/ 03 ноября 2010

Хорошо, я понял это ... довольно простое решение. Просто добавьте android: configChanges = "direction | keyboardHidden" к активности в AndroidManifest. Это говорит о том, что не следует перезапускать действие для этих типов изменений конфигурации. Подходит, только если у вас нет отдельных макетов для разных ориентаций, но, к счастью, у нас их нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...