Kotlin 接口声明中的可见性修饰符冲突
Visibility modifier conflict in interface declaration in Kotlin
我有一个简单的回收器视图,其中主体内有接口,并且我在构造函数参数中声明了接口,因此我可以在回收器视图的主体内访问它。但它显示错误为
Conflicting declarations: public interface CardClickListener, private final val CardClickListener: MemoryBoardAdapter.CardClickListener
我已尝试更改可见性修饰符,但错误仍然存在。
**
我的代码:**
带界面的 Recycler 视图:
class MemoryBoardAdapter( private val CardClickListener: CardClickListener ) : RecyclerView.Adapter<MemoryBoardAdapter.ViewHolder>() {
interface CardClickListener{
fun onCardClicked(position: Int)
} }
调用recyclerView的MainActivity对象:
binding.rvBoard.adapter = MemoryBoardAdapter(object: MemoryBoardAdapter.CardClickListener{override fun onCardClicked(position: Int) {// TODO}
})
我尝试将 private val 更改为 internal var,但错误仍然存在。如果我在 class 构造函数中删除可见性修饰符,错误就会消失,但我无法访问 class 体内的界面。
object: MemoryBoardAdapter.CardClickListener
中 CardClickListener 的大写字母 C 与适配器中的接口名称 CardClickListener
冲突。更改参数名称或使用 cardClickListener
class MemoryBoardAdapter(private val cardClickListener: CardClickListener )
而不是
class MemoryBoardAdapter(private val CardClickListener: CardClickListener )
我有一个简单的回收器视图,其中主体内有接口,并且我在构造函数参数中声明了接口,因此我可以在回收器视图的主体内访问它。但它显示错误为
Conflicting declarations: public interface CardClickListener, private final val CardClickListener: MemoryBoardAdapter.CardClickListener
我已尝试更改可见性修饰符,但错误仍然存在。 ** 我的代码:**
带界面的 Recycler 视图:
class MemoryBoardAdapter( private val CardClickListener: CardClickListener ) : RecyclerView.Adapter<MemoryBoardAdapter.ViewHolder>() {
interface CardClickListener{
fun onCardClicked(position: Int)
} }
调用recyclerView的MainActivity对象:
binding.rvBoard.adapter = MemoryBoardAdapter(object: MemoryBoardAdapter.CardClickListener{override fun onCardClicked(position: Int) {// TODO}
})
我尝试将 private val 更改为 internal var,但错误仍然存在。如果我在 class 构造函数中删除可见性修饰符,错误就会消失,但我无法访问 class 体内的界面。
object: MemoryBoardAdapter.CardClickListener
中 CardClickListener 的大写字母 C 与适配器中的接口名称 CardClickListener
冲突。更改参数名称或使用 cardClickListener
class MemoryBoardAdapter(private val cardClickListener: CardClickListener )
而不是
class MemoryBoardAdapter(private val CardClickListener: CardClickListener )