BaseRecyclerViewAdapterHelper之BaseSectionQuickAdapter实现分组功能

    xiaoxiao2021-03-25  147

    1. 一个实体类RectclerSectionItem

    public class RecyclerSectionItem extends SectionEntity { private String title;    private String content;    public RecyclerSectionItem(boolean isHeader, String header) { super(isHeader, header);    } public RecyclerSectionItem(boolean isHeader, String header, String title, String content) { super(isHeader, header);        this.title = title;        this.content = content;    } public String getTitle() { return title;    } public void setTitle(String title) { this.title = title;    } public String getContent() { return content;    } public void setContent(String content) { this.content = content;    } }

    2. 俩个item视图文件(view_list_item和view_home_list_item,同上)

    3. 适配器SectionQuickAdapter

    public class SectionQuickAdapter extends BaseSectionQuickAdapter<RecyclerSectionItem,BaseViewHolder> { /**     * Same as QuickAdapter#QuickAdapter(Context,int) but with     * some initialization data.     *     * @param layoutResId      The layout resource id of each item.     * @param sectionHeadResId The section head layout id for each item     * @param data             A new list is created out of this one to avoid mutable list     */    public SectionQuickAdapter(int layoutResId, int sectionHeadResId, List<RecyclerSectionItem> data) { super(layoutResId, sectionHeadResId, data);    } @Override    protected void convertHead(BaseViewHolder helper, RecyclerSectionItem item) { helper.setText(R.id.content_text_tv, item.header);    } @Override    protected void convert(BaseViewHolder helper, RecyclerSectionItem item) { helper.setText(R.id.list_item_title_tv, item.header) .setText(R.id.list_item_content_tv,item.getTitle() + item.getContent());    } }

    4. 实现类SectionQuickActivity

    public class SectionQuickActivity extends BaseRecyclerViewActivity { private SectionQuickAdapter sectionQuickAdapter;    @Override    protected int getLayoutResId() { return super.getLayoutResId();    } @Override    protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState);        titleNameTv.setText("BaseSectionQuickAdapter实现分组");        sectionQuickAdapter = new SectionQuickAdapter( R.layout.view_list_item,                R.layout.view_home_list_item,                getSectionListData(20));        sectionQuickAdapter.openLoadAnimation(BaseQuickAdapter.SLIDEIN_RIGHT);        recyclerView.setAdapter(sectionQuickAdapter);    } @Override    protected void onRefreshComplete() { sectionQuickAdapter.addData(0,getSectionListData(2));        recyclerView.scrollToPosition(0);    } /**     * 获取分组数据     *     * @param count 设置要获取的数据的数量     * @return     */    protected List<RecyclerSectionItem> getSectionListData(int count) { if (count == 0) return null;        List<RecyclerSectionItem> newDatas = new ArrayList<>();        for (int i = 0; i < count; i++) { if (i%2 == 0) { newDatas.add(new RecyclerSectionItem(true,                        TimeUtils.getNowTimeString("yyyy-MM-dd")));            }else if (i%2 == 1){ newDatas.add(new RecyclerSectionItem(false,                        "时间:" + TimeUtils.getNowTimeString("HH:mm:ss"),                        "关关雎鸠,在河之洲。",                        "窈窕淑女,君子好逑。"));            } } return newDatas;    } } 效果图如下:
    转载请注明原文地址: https://ju.6miu.com/read-4853.html

    最新回复(0)