我通过为页眉和页脚添加单独的版面来自定义RecyclerView
。我创建了常量来确定适配器类中的页眉,页脚和列表项的属性。我还创建了一个ViewHolder模式,并根据视图类型分配要显示的布局。我通过覆盖getItemViewType
方法将头部固定在第零位和页尾位于数组的最后位置。如何从RecyclerView.Adapter访问LayoutManager以获取scrollToPosition?
我要让页脚元素点击,所以我给你一个setOnClickListener(new View.OnClickListener())
和改写onClick(view: View)
我的目标是点击页脚和scrollToPosition
0或1(0 =报头,1 =第一项元素)。
这是MyAdapter定义:
class MyAdapter(context: Context, data: Array[String]) extends RecyclerView.Adapter[RecyclerView.ViewHolder]
...
override def onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int): Unit = holder match {
...
case holder:FooterViewHolder =>
holder.backToTop.setOnClickListener(new View.OnClickListener() {
override def onClick (view: View) {
backToTop(???)
Toast.makeText (context, "Clicked Footer", Toast.LENGTH_SHORT).show()
}
})
...
}
...
我读我只需要做到这一点:recyclerView.getLayoutManager().scrollToPosition(position)
不幸的是我无法从我的适配器类访问LayoutManager的。任何想法我可以做什么?
通LayoutManage –