我有一个RecyclerView
,我在那里显示我的数据,我有一个ItemTouchHelper
,我滑动删除我的数据。所有的工作都很好,但我要做的是从适配器传递一个变量,以使用它在ItemTouchHelper.SimpleCallbac
k的onSwiped
方法的片段。有什么想法?
我正在使用Paging 3库显示我的数据。
这就是我所尝试的:
项目触摸助手滑动
class ItemTouchHelperSwipe(private val swipeItemTouchListener: SwipeItemTouchListener): ItemTouchHelper.SimpleCallback(0,ItemTouchHelper.LEFT){
override fun onSwiped(viewHolder:RecyclerView.ViewHolder,direction:Int) {
swipeItemTouchListener.onSwiped(viewHolder,direction)
}
//More overrided method...
}
SwipeItemTouchListener接口:
interface SwipeItemTouchListener{
fun onSwiped(holder:RecyclerView.ViewHolder?,direction:Int)
//More functions...
}
碎片
class MyFragment : Fragment(),SwipeItemTouchListener{
override fun onSwiped(holder:RecyclerView.ViewHolder?,direction:Int?){
//Here is where I want to use the variable from adapter
}
}
适配器(使用Paging 3库中的PagingDataAdapter)
class MyAdapter : PagingDataAdapter<MyModel, RecyclerView.ViewHolder>(ModelComparator){
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int){
val mymodel : MyModel? = getItem(position)
val mymodelID = mymodel.data.id //This id is what I want to pass to fragment
}
}
1条答案
按热度按时间xbp102n01#