BaseRecyclerViewAdapterHelper之BaseSectionQuickAdapter实现分组功能

来源:互联网 发布:js基本语法 编辑:程序博客网 时间:2024/05/23 13:52

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;    }}
效果图如下:

0 0
原创粉丝点击