美文网首页
Android评论功能引发的重构

Android评论功能引发的重构

作者: 风一样的code | 来源:发表于2019-08-15 18:45 被阅读0次

    Android实现评论功能

    一,原生控件ExpandableListview

    利与弊

    该控件样式父子列表,一个控件,一个Adapter,一套父布局,一套子布局就可以实现,操作简单;

    该控件需要处理的样式的问题

    1. 展示箭头需要隐藏;
    2. 列表子view需要默认全部展开;
    3. 上拉加载需要先关闭所有的item,然后再重新展开所有的item,否则第二页的子布局显示不出来及报数组越界;
    4. 定位问题,回复评论后需要刷新ExpandableListview,这时候也需要关闭再展开所有的item,否则子布局显示不出来及易报数组越界;
    5. ExpandableListview的点击事件需要分别拦截。
    6. 子Item的宽度不可控,子View设置不是全屏宽度的背景时需要多加层级进行控制。

    二,控件Listview双层嵌套

    利与弊

    1. 父Item和子Item的数据适配器相互独立;
    2. 不需要处理展开还是关闭的问题,不会因为显示子Item报数组越界问题;
    3. 定位问题,回复之后直接刷新notify就可以了,不会出现数组越界问题;
      4, 子布局的样式及背景可以轻松的控制。

    1. 需要两个数据适配器构造对应的ListView的数据;
    2. 父Item和子Item的回复功能需要分别设计回调去刷新数据;
    3. 层级比较深Activity的布局放置父布局的Listview,父布局中放置子布局的ListView;
    4. 第二页及其以后回复评论后定位问题,需要单独设置局部刷新

    以上是经历过开发二级评论之后的经验,刚开始使用了ExpandableListview,效果确实不错,实现起来也很简单,就是展开和收起的问题,需要做很多其他的工作去解决,从而会引发更多的问题。

    两个控件都实现了评论功能,建议使用Listview嵌套。

    相关文章

      网友评论

          本文标题:Android评论功能引发的重构

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