垂直的recyclerview
主recyclerview
显示布局中的所有交易
但是我想实现的是:
- 在前10笔交易之后,我想显示(推荐的5笔交易的(水平recyclerview)] >>
- 在接下来的10笔交易之后,我想显示(推荐的5笔交易的(水平recyclerview)] >>
- 在接下来的10笔交易之后,我想显示(推荐的5笔交易的(水平recyclerview),依此类推……
我已附上我希望设计外观的图像。
我不知道如何执行此操作。但是我两个
recyclerview
分开工作。只是不确定如何组合它们。我什至不确定要在adapters
或mainactivity
中编写代码。我已附加了水平recyclerview
适配器和垂直recyclerview
适配器的图像。请通过向我展示如何实现此功能来帮助我。谢谢
How i want my design to look like
Image of horizontal recyclerview adapter
1st Image of vertical recyclerview adapter
2nd Image of vertical recyclerview adapter
3rd Image of vertical recyclerview adapter
主recyclerview是垂直recyclerview,它显示了布局中的所有交易,但是我想要实现的是:在前十笔交易之后,我想显示一个(水平recyclerview)...
class MyAdapter(val list: List<String?>): RecyclerView.Adapter<RecyclerView.ViewHolder>() { private val TYPE_ITEM = 0 private val TYPE_HORIZONTAL_ITEM = 1 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { return if(viewType == TYPE_ITEM) { ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.item_layout, parent, false)) }else HorizontalViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.horizontal_layout, parent, false)) } override fun getItemCount(): Int { return list.size } override fun getItemViewType(position: Int): Int { return if(list[position]!=null) TYPE_ITEM else TYPE_HORIZONTAL_ITEM } override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { if(holder is ViewHolder){ holder.bind(list[position]?:"") // manage your items }else if(holder is HorizontalViewHolder) holder.bind() // manage your horizontal recyclerView } class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) { fun bind(item: String){ } } class HorizontalViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){ fun bind(){ } }
您必须创建适用于不同viewType的适配器。作为示例,我列出了字符串,每个第10个元素都为null,这表明它是水平的recyclerView。我相信,在您的情况下,它应该不是处理null的模型,而是用于处理水平recyclerView的模型。例如,清单20的大小应为22,因为有两个水平的recyclerViews。