代码之家  ›  专栏  ›  技术社区  ›  Nadav Holtzman

如何在Android上从Kotlin的lambda不返回任何内容?(类型不匹配)

  •  1
  • Nadav Holtzman  · 技术社区  · 3 年前

    所以我在Kotlin中得到了这个函数:

     private fun initComponents(){
            lv = findViewById(R.id.listView)
    
            lv?.setOnItemLongClickListener { _, _, i, _ ->
                removeItem(i) <- Error Here
            }
        }
    
    fun removeItem(index : Int){
            items.removeAt(index) 
        }
    

    其中items是一个数组列表。

    这给了我一个lambda的错误-

    类型不匹配。 必修的: 布尔值 发现: 单元

    我是科特林的新手。 谢谢你的帮助

    1 回复  |  直到 3 年前
        1
  •  0
  •   CommonsWare    3 年前

    你需要退票 Boolean 值,指示您是否使用了该事件:

            lv?.setOnItemLongClickListener { _, _, i, _ ->
                removeItem(i)
                true
            }