У меня есть 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
Использование AndroidFragment внутри Compose BottomNavigation воссоздается. ⇐ Android
Форум для тех, кто программирует под Android
1729091164
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)
)
}
)
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79094689/using-androidfragment-inside-compose-bottomnavigation-gets-recreated[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия