Как проверить текущий пункт назначения Jetpack Compose типобезопасным способом?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как проверить текущий пункт назначения Jetpack Compose типобезопасным способом?

Сообщение Anonymous »

Начиная с версии 2.8.0 библиотеки androidx.navigation:navigation-compose у нас доступен новый типобезопасный API навигации. Я пытаюсь использовать его в своем приложении, но у меня возникла проблема.
В моем приложении есть панель навигации, которая имеет несколько пунктов назначения:

Код: Выделить всё

NavigationBar {
BottomBarDestination.entries.forEach {
NavigationBarItem(
selected = ?????,
label = { Text(text = it.title) },
onClick = {/*TODO change destination*/},
icon = { Icon(imageVector = it.icon, contentDescription = it.title) }
)
}
}
Когда я меняю пункт назначения, мне нужно обновить свойство selected каждого элемента навигации. Однако я не нашел ни одного работающего типобезопасного решения. Как я могу проверить текущий пункт назначения, если он соответствует пункту назначения NavigationItem? Я знаю, что могу сохранить простую строку внутри NavigationItem и сравнить ее с маршрутом, но я не считаю это безопасным для типов. Я хочу использовать типобезопасный API.


Подробнее здесь: https://stackoverflow.com/questions/787 ... afe-manner
Ответить

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

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

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

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

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