#android #kotlin
#Android #котлин
Вопрос:
У меня есть список объектов. Эти объекты имеют один и тот же абстрактный класс. Есть ли какой-либо способ получить индекс конкретного объекта на основе имени класса?
Что — то вроде этого:
open fun getScreenIndex(screen: Classlt;out FlowScreengt;): Int{ return flowList.indexOf(screen) }
И я бы назвал это так:
getScreenIndex(AccountScreen::class.java)
Я создаю динамику ViewPager
, которая будет заполнена экранами, и мне нужен способ переключения страниц, но я не хочу использовать индексы (случайные числа внутри кода — это сбивает с толку). Его способ лучше просто назвать экранным именем. Не будет случая, когда у вас будет один и тот же класс дважды в этом списке.
Ответ №1:
Попробуй вот так:
val index = flowList.indexOfFirst { item -gt; item::class.java == AccountScreen::class.java }
Вы также можете перейти Classlt;out FlowScreengt;
на Classlt;*gt;