Использование AndroidFragment внутри Compose BottomNavigation воссоздается.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Использование AndroidFragment внутри Compose BottomNavigation воссоздается.

Сообщение Anonymous »

У меня есть MainActivity, использующая Jetpack Compose для настройки Scaffold с BottomBar. BottomBar управляет NavHost, содержащим составные элементы, в том числе AndroidFragment.
При переключении между вкладками я замечаю, что фрагменты создаются заново. Как я могу сохранить фрагменты, чтобы они не перезагружали свои данные?
internal fun NavGraph(
navController: NavHostController,
modifier: Modifier = Modifier
) {
NavHost(
navController = navController,
modifier = modifier,
startDestination = Screen.FrontPage
) {
composable {
AndroidFragment(clazz = FrontPageFragment::class.java)
}
composable {
AndroidFragment(clazz = LatestPageFragment::class.java)
}
}
}

@AndroidEntryPoint
class MainActivity : BaseActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Theme {
Content()
}
}
}
}

@Composable
private fun Content() {
val navController = rememberNavController()
var isSelectedIndex by rememberSaveable { mutableIntStateOf(0) }

val screens = listOf(
Screen.FrontPage,
Screen.LatestPage
)

Scaffold(
bottomBar = {
NavigationBar() {
screens.forEach { screen ->
val currentIndex = screens.indexOf(screen)
NavigationBarItem(
icon = {
Image(
painter = painterResource(screen.icon),
contentDescription = null
)
},
label = { Text(screen.title) },
selected = isSelectedIndex == currentIndex,
onClick = {
isSelectedIndex = currentIndex
navController.navigate(screen)
},
)
}
}
},
content = { innerPadding ->
NavGraph(
navController = navController,
modifier = Modifier.padding(innerPadding)
)
}
)
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... -recreated
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Использование AndroidFragment внутри Compose BottomNavigation воссоздается.
    Anonymous » » в форуме Android
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Отображение фрагмента в Jetpack Compose с использованием AndroidFragment<>
    Anonymous » » в форуме Android
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Отображение фрагмента в Jetpack Compose с использованием AndroidFragment<>
    Anonymous » » в форуме Android
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Jetpack Compose BottomNavigation сохраняет выбранный элемент при навигации
    Anonymous » » в форуме Android
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Действие воссоздается при удалении разрешения на доступ к Health Connect.
    Anonymous » » в форуме Android
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»