繁体   English   中英

Kotlin 中接口声明中的可见性修饰符冲突

[英]Visibility modifier conflict in interface declaration in Kotlin

我有一个简单的回收器视图,其中我在主体中有接口,并且我已经在构造函数参数中声明了接口,因此我可以在回收器视图的主体中访问它。 但它显示错误为

Conflicting declarations: public interface CardClickListener, private final val CardClickListener: MemoryBoardAdapter.CardClickListener

我试图更改可见性修饰符,但错误仍然存在。 ** 我的代码:**

带界面的回收站视图:

class MemoryBoardAdapter(   private val CardClickListener: CardClickListener ) :     RecyclerView.Adapter<MemoryBoardAdapter.ViewHolder>() { 

interface CardClickListener{     

    fun onCardClicked(position: Int) 

    } }

MainActivity object 调用recyclerView:

binding.rvBoard.adapter = MemoryBoardAdapter(object: MemoryBoardAdapter.CardClickListener{override fun onCardClicked(position: Int) {// TODO}

        })

我试图从 private val 更改为 internal var 但错误仍然存在。 如果我删除 class 构造函数中的可见性修饰符,错误就会消失,但我无法访问 class 体内的界面。

object 中 CardClickListener 的大写object: MemoryBoardAdapter.CardClickListener与您适配器中的接口名称CardClickListener冲突。 更改参数的名称或使用cardClickListener

class MemoryBoardAdapter(private val cardClickListener: CardClickListener ) 

代替

class MemoryBoardAdapter(private val CardClickListener: CardClickListener ) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM