-2

我正在学习 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>

我希望有一个人可以帮助我。

4

5 回答 5

4

在新版本的Groupie中,需要做如下操作

    val adaptor = GroupAdapter<GroupieViewHolder>()

并确保添加

    import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder
于 2019-09-26T02:22:15.763 回答
3

如果您使用的是最新版本 2.3.0,请更改为 2.1.0。它工作得很好!

于 2018-12-25T23:48:44.423 回答
1

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

于 2020-02-25T12:28:13.257 回答
1

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

val adapter = GroupAdapter<ViewHolder>()
于 2019-06-07T10:29:52.683 回答
0

对我来说,我需要:

val adapter = GroupAdapter<GroupieViewHolder>()

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

class MyItem(...) : Item<MyItem.MyViewHolder>() {
    ...
    override fun createViewHolder(itemView: View) = MyViewHolder(itemView)
    ...
    class MyViewHolder(view: View) : GroupieViewHolder(view) {
        // Bind Views
    }
}
于 2021-02-02T12:59:43.643 回答