wri*_*rik 7 merge android adapter commonsware-cwac android-recyclerview
我有一个json字符串,我分成4个数据集,每个数据集都有自己的RecyclerView.Adapter.
我想在每个适配器上使用StickyHeader在同一个RecyclerView中输出所有适配器.
我相信这可以通过CommonsWare的CWAC合并使用ListViews来完成(https://github.com/commonsguy/cwac-merge)
有关如何使用RecyclerView或应该如何使用RecyclerView的任何想法?我是一个不成熟的开发人员,所以响应越不抽象越好;-D
谢谢.
在Recyclerview 小部件的新更新中,您可以使用MergeAdapter类
import androidx.recyclerview.widget.MergeAdapter
Run Code Online (Sandbox Code Playgroud)
实例化适配器:
private val mfirstAdapter = FirstAdapter()
private val mSecondAdapter = SecondAdapter()
// here is MergeAdapter class
private val adapter = MergeAdapter(mfirstAdapter , mSecondAdapter )
Run Code Online (Sandbox Code Playgroud)
然后用法:
binding.recycler.adapter = adapter
Run Code Online (Sandbox Code Playgroud)
如何更新适配器:(如果使用diffUtils,则使用.submitList,否则使用notifyDataSetChaned())
mfirstAdapter.submitList(myDataArrayList.subList(0, 10))
mSecondAdapter.submitList(myDataArrayList.subList(10, list.size - 1))
Run Code Online (Sandbox Code Playgroud)
我会选择这个库:https ://github.com/martijnvdwoude/recycler-view-merge-adapter
查看 Github 页面上的文档,了解如何在代码中使用它的示例。
自述文件摘录:
RecyclerView myRecyclerView = (RecyclerView) view.findViewById(R.id.my_recycler_view);
// Create new merge adapter
RecyclerViewMergeAdapter mergeAdapter = new RecyclerViewMergeAdapter();
// Add any number of subadapters to merge adapter
MyRecyclerViewSubAdapter subAdapter1 = new MyRecyclerViewSubAdapter();
MyRecyclerViewSubAdapter subAdapter2 = new MyRecyclerViewSubAdapter();
mergeAdapter.addAdapter(subAdapter1);
mergeAdapter.addAdapter(subAdapter2);
// Set merge adapter to RecyclerView
myRecyclerView.setAdapter(mergeAdapter);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3214 次 |
| 最近记录: |