当前位置: 首页 > wzjs >正文

公众号h5网站开发网络营销方法有哪些?

公众号h5网站开发,网络营销方法有哪些?,做任务赚钱的网站靠谱吗,office2017做网站作为一个 Android 开发,RecycleView 是经常使用的,因为原生实现 RecycleView 比较繁琐,所以我们通常会借助第三方开源框架来加速开发,最常用的就是 BaseRecyclerViewAdapterHelper 了 https://github.com/CymChad/BaseRecyclerVi…

作为一个 Android 开发,RecycleView 是经常使用的,因为原生实现 RecycleView 比较繁琐,所以我们通常会借助第三方开源框架来加速开发,最常用的就是 BaseRecyclerViewAdapterHelper 了

https://github.com/CymChad/BaseRecyclerViewAdapterHelperhttps://github.com/CymChad/BaseRecyclerViewAdapterHelper

implementation "io.github.cymchad:BaseRecyclerViewAdapterHelper4:4.1.6"

 文档中的使用示例:

 优化后的用法:

class TestAdapter : BaseQuickAdapter<DataBean, TestAdapter.VH>() {override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): VH {val binding = LayoutBinding.inflate(LayoutInflater.from(parent.context))return VH(binding)}override fun onBindViewHolder(holder: VH, position: Int, item: DataBean?) {item ?: return// 设置 item 数据holder.binding.xxxx}class VH(val binding: LayoutBinding) : BaseViewHolder(binding.root)
}

可以看到使用 BaseQuickAdapter 来开发已经非常方便了,但是还可以封装一下:

使用 ViewBinding 的情况下,在 Adapter 中只需要关注两样事情:list 数据的类型,item 布局的数据绑定

所以 onCreateViewHolder 方法和 VH 类可以通过泛型提取出来,并且把 ViewBinding 暴露出去


abstract class KQuickAdapter<T : Any, VB : ViewBinding> : BaseQuickAdapter<T, VH<VB>>() {override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): VH<VB> {val vbClass = (javaClass.genericSuperclass as ParameterizedType).actualTypeArguments[1] as Class<VB>val method = vbClass.getMethod("inflate", LayoutInflater::class.java, ViewGroup::class.java, Boolean::class.java)val binding = method.invoke(null, LayoutInflater.from(context), parent, false) as VBreturn VH(binding)}override fun onBindViewHolder(holder: VH<VB>, position: Int, item: T?) {item ?: returnonBind(holder.binding, position, item)}abstract fun onBind(binding: VB, position: Int, item: T)
}
class VH<VB : ViewBinding>(val binding: VB) : RecyclerView.ViewHolder(binding.root)

使用方法:

class TestAdapter: KQuickAdapter<DataBean, LayoutBinding>() {override fun onBind(binding: LayoutBinding, position: Int, item: DataBean) {// 设置 item 数据binding.xxxxx}
}

可以看到只需要传 list 的数据类型和 item 的ViewBinding 类型,在 onBind 方法中设置 item 数据就完整了 Adapter 的配置,减少了 onCreateViewHolder 方法和 VH 类的模板代码,进一步提升开发效率


注:KQuickAdapter 中的 onCreateViewHolder 方法使用了反射来获取子类的泛型类型,相对来说会有点耗时,但是可以把反射的结果缓存起来,避免 onCreateViewHolder 方法多次执行时的重复反射操作,将反射带来的性能影响降到最低

http://www.dtcms.com/wzjs/325908.html

相关文章:

  • joomla适合新闻网站吗手机网站怎么优化关键词
  • wordpress页面超链接yoast seo教程
  • 网页ip代理上海关键词优化外包
  • 网站开发常用中间件个人如何注册网址
  • 做网站后台系统的规范百度安装到桌面
  • 北京旗网站制作河南做网站的
  • 个人做新闻网站湖南网站seo
  • 中国最厉害的网站建设公司教育培训机构网站
  • 外贸网站做纸尿裤怎么样网站建设优化推广
  • 网站建设用哪个软件成人短期电脑培训班学费
  • 网络服装网站建设灰色行业推广平台网站
  • 博罗做网站北京seo服务商
  • 安徽建设部网站亚马逊排名seo
  • 厦门商城网站建设营业推广的方式
  • 省红十字会网站建设方案中国的搜索引擎有哪些
  • 全网营销推广方式电脑突然多了windows优化大师
  • 在银行网站如何做理财风险评测免费搭建网站平台
  • 自己做的网站如何在百度被搜索到线上网络平台推广
  • 贵州飞乐云毕节网站建设百度指数怎么用
  • 网站建设这一行业怎样郑州网站关键词排名技术代理
  • 镇江网站建设yubei021大丰seo排名
  • 免费看各大网站的软件百度百科官网
  • h5网站开发工具有哪些高端婚恋网站排名
  • 完善wordpress黑帽seo技巧
  • 网站费用明细奖券世界推广网站
  • 网站制作 网站开发创建网站要钱吗
  • 做网站朋友圈广告的文案怎么写推广方式都有哪些
  • 太仓做网站电脑培训网上培训班
  • 网站建设 主要内容郑州网站优化渠道
  • 免费建网站电话网店代运营