Запуск деятельности внутри деятельности? - PullRequest
1 голос
/ 26 октября 2011

Я занимаюсь разработкой библиотеки для Android. Эта библиотека состоит из пользовательского представления. Я хотел бы иметь возможность определять из моей библиотеки, когда onConfigurationChanged() вызывается для активности.

Моей первой мыслью было использовать startActivity() с моей собственной деятельностью, которая реализует только onConfigurationChanged(), но, к сожалению, это начало новую деятельность поверх приложения. Можно ли запустить деятельность в "фоновом режиме"?

Может, у меня неправильный подход? Ты хоть представляешь, как мне этого добиться?

Ответы [ 3 ]

1 голос
/ 28 октября 2011

Так что, как я пытался решить, это не был googd.

Я добавил метод onConfigurationChanged() в мою библиотеку. Таким образом, люди, использующие его, должны будут вызывать этот метод из своей деятельности.

Проблема решена!

1 голос
/ 13 апреля 2012

У меня была похожая проблема - пользовательская Галерея, которая создала свой собственный диалог и нуждалась в отслеживании изменений конфигурации (поскольку она просочилась в свои виды при изменении ориентации).

Чтобы решить эту проблему, диалог.dismiss () должен быть вызван при обнаружении такого изменения. Мне уже требовалось основное действие для вызова некоторых методов пользовательского представления, например, onContextItemSelected и onActivityResult.

Я бы хотел что-то более прозрачное для пользователей. В этом конкретном случае я добился этого, вызвав метод dismiss из onSaveInstanceState из View (не из Activity) и сохранил активность вызывающей стороны без необходимости вызова дополнительных методов из пользовательского представления.

0 голосов
/ 26 октября 2011

Вы должны определить в своем манифесте, что действие обрабатывает onConfiguratoinChange, а затем определить его в своем коде. Вы можете проверить документы Google здесь для примера. http://developer.android.com/guide/topics/resources/runtime-changes.html

...