美文网首页
RecycleView.ItemDecoration

RecycleView.ItemDecoration

作者: Allenlll | 来源:发表于2020-01-17 11:30 被阅读0次
    • 使用
    adapter extends LetterHeaderAdapter<T extends RecycleView.ViewHolder>
    
    LetterHeaderDecoraton extends RecycleView.ItemDecoration(abstract)
    
    letterHeaderDecoration = new LetterHeaderDecoration(adapter)
    recycleView.addItemDecoration(letterHeaderDecoration)
    
    
    
    1. 在LetterHeaderDecoration中也可以完成所有功能,不需要在Adapter中实现接口来绑定数据。这样功能更加独立,LetterHeaderDecoraton包含所有功能,并且没有和Adapter耦合。
    2. 在Adapter中实现接口,通过实现接口中的方法,绑定数据。根据Adapter中的数据来绑定LetterHeader数据,如果在LetterHeaderDecoration中则需要LetterHeaderDecoration也保存Adapter中的数据。
    3. 在Adapter中实现接口来绑定LetterHeaderDecoration的数据,是因为数据data都在Adapter中,则Adapter来实现方法和数据绑定更方便。
    4. LetterHeaderDecoration要实现的功能是得到HeaderView,得到HeaderView显示的数据。计算HeaderView要不要显示。流程式思维是把数据传递过来,自己来计算。或者新建一个计算类作为属性来实现需要的功能。或者让另一个保留数据的类Adapter来计算,然后把Adapter作为属性传递过来。
    5. 通过把Adapter传递过来作为属性,Adapter的所有功能和属性都传递过来了,有很多不需要的属性和功能。如果用接口来限制功能,通过Adapter实现接口,然后LetterHeaderDecoration持有接口,就可以限制传递的功能。
    6. 其它页面需要LetterHeaderDecoration时,只需要自己Adapte实现接口,绑定数据即可,而不需要改动LetterHeaderDecoration
    1、面向接口编程
    2、依赖倒置,依赖接口而不是依赖具体的类。
    3、最小依赖原则
    4、可扩展,最小改动原则
    
    

    相关文章

      网友评论

          本文标题:RecycleView.ItemDecoration

          本文链接:https://www.haomeiwen.com/subject/gqjczctx.html