FireBaseRecyclerAdapter如何打开片段时点击一个项目和显示数据?



当从FireBaseRecyclerAdapter中点击一个项目时,我想打开一个新的Fragment

PersonAdapter.kt:

override fun onBindViewHolder(
holder: personsViewholder,
position: Int, model: Exercise
) {

holder.title.text = model.title
holder.description.text = model.description
}

此刻我可以用数据填充回收视图,但我怎么能把这些数据传递给一个新的片段,例如PersonDetailFragment?

What I tried

var activity: AppCompatActivity = it.context as AppCompatActivity
activity.supportFragmentManager.beginTransaction()
.replace(R.id.chat_profile_dimmer, ExercisesFragment(model.title, model.description)).addToBackStack(null).commit()

我已经尝试了几种方法,但似乎都不起作用。

您可以通过使用回调来做到这一点。按照以下步骤操作:

  1. 在适配器构造函数中进行回调。

    class YourAdapter(private val callback: (DataTypeToBeSent) -> Unit): ...

  2. InonBindViewHolder:

    holder.view.setOnClickListener {
    callback.invoke(model)
    }

有了这个,你将在视图(Activity/Fragment)中获得适配器被调用的数据,每次在RecyclerView中单击按钮/视图。

然后从那个视图(Activity/Fragment),你就可以开始这个片段了。

相关内容

  • 没有找到相关文章

最新更新