class MySection extends StatelessSection {
String title;
List<String> list;
public MySection(String title, List<String> list) {
// call constructor with layout resources for this Section header, footer and items
super(R.layout.section_header, R.layout.section_item);
this.title = title;
this.list = list;
}
@Override
public int getContentItemsTotal() {
return list.size(); // number of items of this section
}
@Override
public RecyclerView.ViewHolder getItemViewHolder(View view) {
// return a custom instance of ViewHolder for the items of this section
return new MyItemViewHolder(view);
}
@Override
public void onBindItemViewHolder(RecyclerView.ViewHolder holder, int position) {
MyItemViewHolder itemHolder = (MyItemViewHolder) holder;
// bind your view here
itemHolder.tvItem.setText(list.get(position));
}
@Override
public RecyclerView.ViewHolder getFooterViewHolder(View view) {
return new MyFooterViewHolder(view);
}
@Override
public void onBindFooterViewHolder(RecyclerView.ViewHolder holder) {
MyFooterViewHolder footerHolder = (MyFooterViewHolder) holder;
// bind your footer view here
footerHolder.tvItem.setText(title);
}
}
然后用您的分区设置recyclerview:
// Create an instance of SectionedRecyclerViewAdapter
SectionedRecyclerViewAdapter sectionAdapter = new SectionedRecyclerViewAdapter();
// Create your sections with the list of data for each year
MySection section1 = new MySection("1 week ago", week1data);
MySection section2 = new MySection("2 weeks ago", week2data);
// Add your Sections to the adapter
sectionAdapter.addSection(section1);
sectionAdapter.addSection(section2);
// Set up your RecyclerView with the SectionedRecyclerViewAdapter
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setAdapter(sectionAdapter);
3条答案
按热度按时间k7fdbhmy1#
这里是一个解决方案,我来了很多研究的帮助下,通过网络和这个博客链接以及kartikekushaha,所以这不是我的全部功劳,但我只是想给它更多的清晰度。下面是代码:创建以下files:pojoofjsonarray,主活动,列表项,通用项,日期项,适配器
pojoofjsonarray.java-此文件将表示您的pojo类或您在应用程序中进行的任何pojo,因此:
mainactivity.java这是用于实现recyclerview的活动:
myoptions是一个用来将数据输入的地方。listitem.java文件
通用项目.java
日期项.java
adapter.java这个适配器是为recyclerview设计的,如果你不太了解如何制作简单的分段recyclerview,那么我建议你阅读这些内容,并在这方面做得很好,因为这是一个更棘手的问题:
这有两种布局。因此所有
i2loujxw2#
您可以使用库SectionedRecycleServiceAdapter轻松地将数据分组到节中,并为每个节添加一个标题。
首先创建一个节类:
然后用您的分区设置recyclerview:
jtjikinw3#
我在SectionRecyclerView库的帮助下解决了这个问题,并使用这些函数(gist)检查日期是否为“今天”、“昨天”等等。
我希望能为此建立一个端到端的库。让我知道如果你有兴趣,然后我可以建立和开放源码它。
示例屏幕截图如下: