android中RecyclerView點(diǎn)擊、單選、多選的實(shí)現(xiàn)

demo效果

EasyAdapterForRecyclerView.gif

GitHub上的源碼

介紹

EasyAdapter是用于RecyclerView的適配器,在原有的適配器基礎(chǔ)上可支持監(jiān)聽相應(yīng)的事件并設(shè)置點(diǎn)擊模式、單選和多選模式。在多選模式下,可設(shè)置最大可選數(shù)量,以及提供了全選、反選等接口。

使用

對(duì)于Android Studio用戶,可添加:

compile 'com.hz.androids.easyadapter:library:1.0'

1.自定義Adapter繼承EasyAdapter

 private class MyAdapter extends EasyAdapter<MyViewHolder> {
    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        ...
    }

    /*
       whenBindViewHolder方法:相當(dāng)于原生Adapter.onBindViewHolder
    */
    @Override
    public void whenBindViewHolder(MyViewHolder holder, int position) {
        ...
    }

    @Override
    public int getItemCount() {
        return list.size();
    }
}

2.RecycleView設(shè)置自定義的適配器

MyAdapter myAdapter = new MyAdapter();
recyclerView.setAdapter(myAdapter);

3.可切換點(diǎn)擊、單選、多選模式

//點(diǎn)擊模式 
myAdapter.setSelectMode(EasyAdapter.SelectMode.CLICK);
//單選模式 
myAdapter.setSelectMode(EasyAdapter.SelectMode.SINGLE_SELECT);
//多選模式 
myAdapter.setSelectMode(EasyAdapter.SelectMode.MULTI_SELECT);

4.在自定義適配器中設(shè)置相應(yīng)模式的監(jiān)聽器

// 監(jiān)聽點(diǎn)擊事件
myAdapter.setOnItemClickListener(new EasyAdapter.OnItemClickListener() {
    @Override
    public void onClicked(int clickPosition) {
        ...
    }
});
//監(jiān)聽單選事件
myAdapter.setOnItemSelectListener(new EasyAdapter.OnItemSelectListener() {
    @Override
    public void onSelected(int selectedPosition) {
        ...
    }
});
//監(jiān)聽多選事件
myAdapter.setOnItemMultiSelectListener(new EasyAdapter.OnItemMultiSelectListener() {
    @Override
    public void onMultiSelected(int multSelectedPosition) {
        ...
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容