Skip to content

解决多数据多视图轻松编写以及复用存在的适配器.

Notifications You must be signed in to change notification settings

AndroidFastDevelopLibs/SuperDelegateAdapter

Repository files navigation

#SuperDelegateAdapter

  • 是否遇见一个适配器多种视图?
  • 是否遇见一个适配器混合多种数据?
  • 是否遇见一个适配器多种排列方式?
  • 各种type定义的烦人?
  • 各种数据转换烦死人?
  • 局部数据刷新??

以上总总快速解决,Holder轻松复用,责任拆分,聪明的适配器.前往博客查看详细介绍>>

#引入

step1:

allprojects{repositories{... maven{url 'https://jitpack.io' } } }

step2:

dependencies{compile 'com.github.bxhuhu:SuperDelegateAdapter:1.0' }

#使用

mRecyclerView.setAdapter(BaseAdapter.createBaseAdapter() .injectHolderDelegate(newCreateHolderDelegate<String>(){@OverrideprotectedintgetLayoutRes(){returnR.layout.item_head} @OverrideprotectedBaseViewHolderonCreateHolder(ViewitemView){returnnewHeadHolder(itemView)} @OverrideprotectedintonSpanSize(){return2} }.cleanAfterAddData("这里是头部")) .injectHolderDelegate(newCreateHolderDelegate<String>(){@OverrideprotectedintgetLayoutRes(){returnR.layout.item_dev} @OverrideprotectedintonSpanSize(){return2} @OverrideprotectedBaseViewHolderonCreateHolder(ViewitemView){returnnewBaseViewHolder<String>(itemView){@OverrideprotectedvoidbindView(Stringstr){} }} }.cleanAfterAddData("只是一个分割线")) .injectHolderDelegate(newCreateHolderDelegate<ContentBean>(){@OverrideprotectedintgetLayoutRes(){returnR.layout.item_content} @OverrideprotectedBaseViewHolderonCreateHolder(ViewitemView){returnnewContentHolder(itemView)} }.cleanAfterAddAllData(arrays)) .injectHolderDelegate(newCreateHolderDelegate<String>(){@OverrideprotectedintgetLayoutRes(){returnR.layout.item_foot} @OverrideprotectedBaseViewHolderonCreateHolder(ViewitemView){returnnewBaseViewHolder<String>(itemView){@OverrideprotectedvoidbindView(Strings){} }} }.cleanAfterAddData("这是底部的View")) .setLayoutManager(mRecyclerView));

折叠一下就是这样的了↓,是不是清晰多了.

Alt text

#QQ群交流

347615100Alt text

About

解决多数据多视图轻松编写以及复用存在的适配器.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java94.6%
  • Kotlin5.4%