Android. Kotlin. Как открыть новое активити в текущем окне

Всем привет.

ActivityScenario.launch(clazz)

открывает активити в новом окне, а как сделать так что бы активити открывалось в старом окне


Ответы (1 шт):

Автор решения: Arkaha

Когда то давно, лет 12 назад было понятие ActivityGroup которое позволяло использовать несколько Activity в одном окне. По большей части никто эту штуку не использовал, и примерно тогда же ее задепрекейтили.

На смену тому решению пришло новое - кусочки UI стали оформлять в фрагменты(класс Fragment), работая с ними можно внутри одного окна открыть множество "экранов" внутри одного окна.

Указанный вами класс ActivityScenario используется только в тестах, утащить это дело в реальное приложение вряд ли будет хорошей идеей.

Если вариант с несколькими фрагментами решит вашу проблему, то пример реализации такого подхода можно посмотреть в примерах AndroidStudio->File->New->New Project. Откроется визард, там выбираем секцию "Phone and tablet" и ищем "Primary/Detail flow" выбираем его и создаем пример.

Внутри будет ItemDetailFragment и ItemListFragment которые для планшетов(ресурсы в папках с суффиксом sw600dp) одновременно присутствуют на экране(и список и деталка).

→ Ссылка