我正在编写一个扩展函数来RecyclerView设置LayoutManager和Adapter设置RecyclerView。该函数应该接受任何扩展自的适配器类,RecyclerView.Adapter<Any>就像我们在 Java 中使用的那样RecyclerView.Adapter<?>。我们如何在 Kotlin 中实现这一点?
internal fun <T : RecyclerView.Adapter<Any>> RecyclerView.initAndSetAdapter(context: Context, adapter: T) {
this.layoutManager = LinearLayoutManager(context)
this.setHasFixedSize(true)
this.adapter = adapter
}
由于类型无效,对此方法的函数调用未编译。但如果我更改Any为*,则它可以正常工作。
internal fun <T : RecyclerView.Adapter<*>> RecyclerView.initAndSetAdapter(context: Context, adapter: T) {
this.layoutManager = LinearLayoutManager(context)
this.setHasFixedSize(true)
this.adapter = adapter
}
为什么方法调用不与类一起编译?Kotlin 中的每个类都像 Java类一样Any扩展类吗?AnyObject
慕侠2389804
慕标5832272
汪汪一只猫
相关分类