lisawray的分组库让我头疼

时间:2018-12-07 13:26:37

标签: android android-recyclerview

我正在学习Android开发,同时遵循Lets Build this App(在YouTube上)制作的教程。 他使用了这个库,我也尝试过,但是我失败了。我创建了一个RecyclerView并尝试使用Groupie制作一个GroupAdapter,如下所示:

newmessage_view.adapter = groupAdapter

这是他在视频中所做的,但是当我这样做时,它给了我一个错误:

Type mismatch.
Required:
(RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder!>?..RecyclerView.Adapter<*>?)
Found:
GroupAdapter<com.xwray.groupie.ViewHolder>

我希望有人能帮助我。预先感谢。

5 个答案:

答案 0 :(得分:3)

如果使用的是最新版本2.3.0,请更改为2.1.0。一切正常!

答案 1 :(得分:1)

在新版本的Groupie中,您需要执行以下操作

    val adaptor = GroupAdapter<GroupieViewHolder>()

并确保添加

    import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder

答案 2 :(得分:1)

好吧,我也遵循相同的教程,也面临相同的问题,但是我通过将Recycler.Viewholder替换为GroupieViewHolder来解决了。

答案 3 :(得分:0)

如果您正在使用Kotlin,则需要以这种方式创建适配器

val adapter = GroupAdapter<ViewHolder>()

答案 4 :(得分:0)

对我来说,我需要:

val adapter = GroupAdapter<GroupieViewHolder>()

如果使用 groupie 遗留方法,请记住覆盖 createViewHolder

class MyItem(...) : Item<MyItem.MyViewHolder>() {
    ...
    override fun createViewHolder(itemView: View) = MyViewHolder(itemView)
    ...
    class MyViewHolder(view: View) : GroupieViewHolder(view) {
        // Bind Views
    }
}