天天看點

開源架構BaseRecyclerViewAdapterHelper

 https://www.jianshu.com/p/b343fcff51b0

  • 架構引入
  • 優化Adapter代碼

    和原始的adapter相對,減少70%的代碼量。

  • 添加Item事件

    Item的點選事件

    Item的長按事件

    Item子控件的點選事件

    Item子控件的長按事件

  • 添加清單加載動畫

    一行代碼輕松切換5種預設動畫。

  • 添加頭部、尾部

    一行代碼搞定,感覺又回到ListView時代。

  • 自動加載

    上拉加載無需監聽滑動事件,可自定義加載布局,顯示異常提示,自定義異常提示。同時支援下拉加載。

  • 分組布局

    随心定義分組頭部。

  • 多布局

    簡單配置、無需重寫額外方法。

  • 設定空布局

    比Listview的setEmptyView還要好用。

  • 添加拖拽、滑動删除

    開啟,監聽即可,就是這麼簡單。

  • 樹形清單

    比ExpandableListView還要強大,支援多級。

  • 自定義ViewHolder

    支援自定義ViewHolder,讓開發者随心所欲。

  • 擴充架構

    組合第三方架構,輕松實作更多需求定制。

dependencies {
            compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
    }
           
public class HomeAdapter extends BaseQuickAdapter<HomeItem, BaseViewHolder> {
    public HomeAdapter(int layoutResId, List data) {
        super(layoutResId, data);
    }

    @Override
    protected void convert(BaseViewHolder helper, HomeItem item) {
        helper.setText(R.id.text, item.getTitle());
        helper.setImageResource(R.id.icon, item.getImageResource());
        // 加載網絡圖檔
      Glide.with(mContext).load(item.getUserAvatar()).crossFade().into((ImageView) helper.getView(R.id.iv));
    }
}