【问题标题】:How to check if specific class is inside list and return index?如何检查特定类是否在列表中并返回索引?
【发布时间】:2021-12-09 20:17:04
【问题描述】:

我有对象列表。这些对象共享相同的抽象类。有没有办法根据类名获取 indexOf 特定对象?

类似这样的:

open fun getScreenIndex(screen: Class<out FlowScreen>): Int{
     return flowList.indexOf(screen)
}

我会这样称呼它:

getScreenIndex(AccountScreen::class.java)

我正在构建动态的ViewPager,它将由屏幕填充,我需要一种如何切换页面的方法,但我不想使用索引(代码中的随机数 - 它令人困惑)。它的方式更好只是调用屏幕名称。不会有这样的情况,当您在该列表中两次有相同的课程时。

【问题讨论】:

    标签: android kotlin


    【解决方案1】:

    试试这样:

    val index = flowList.indexOfFirst { item -> item::class.java == AccountScreen::class.java }
    

    您也可以将Class&lt;out FlowScreen&gt; 更改为Class&lt;*&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-14
      • 2020-08-22
      • 2013-11-03
      • 1970-01-01
      相关资源
      最近更新 更多