Android. Kotlin. Как открыть новое активити в текущем окне
Всем привет.
ActivityScenario.launch(clazz)
открывает активити в новом окне, а как сделать так что бы активити открывалось в старом окне
Ответы (1 шт):
Когда то давно, лет 12 назад было понятие ActivityGroup которое позволяло использовать несколько Activity в одном окне. По большей части никто эту штуку не использовал, и примерно тогда же ее задепрекейтили.
На смену тому решению пришло новое - кусочки UI стали оформлять в фрагменты(класс Fragment), работая с ними можно внутри одного окна открыть множество "экранов" внутри одного окна.
Указанный вами класс ActivityScenario используется только в тестах, утащить это дело в реальное приложение вряд ли будет хорошей идеей.
Если вариант с несколькими фрагментами решит вашу проблему, то пример реализации такого подхода можно посмотреть в примерах AndroidStudio->File->New->New Project. Откроется визард, там выбираем секцию "Phone and tablet" и ищем "Primary/Detail flow" выбираем его и создаем пример.
Внутри будет ItemDetailFragment и ItemListFragment которые для планшетов(ресурсы в папках с суффиксом sw600dp) одновременно присутствуют на экране(и список и деталка).