android 好评控件,CommentView:

CommentView

简洁、高效、可自定义的开源的Android评论控件---CommentView

控件的使用

1、控件方法介绍

以下是控件对外公布的所有业务方法。

方法

参数

说明

.callbackBuilder()

\

获取CallbackBuilder实例设置需要的回调, 无论是否设置回调,都必须调用.callbackBuilder().buildCallback()方法完成初始化。并且初始化必须在loadComplete()调用之前完成。

.loadComplete()

AbstractCommentModel

首次加载数据时调用此方法, 注意:设置回调,设置空数据视图、设置错误视图、设置自定义样式配置器,设置头布局,这5个方法都必须要在loadComplete()这个方法调用之前调用,否则这5个方法失效。

.loadFailed()

boolean isShowErrorView

首次加载数据失败时调用,boolean参数表示是否显示错误视图。

.refreshComplete()

AbstractCommentModel

刷新数据完成后调用,传入刷新后的数据实体类。该方法调用后OnPullRefreshCallback的complete()方法会被调用。

.refreshFailed()

String msg,boolean isShowErrorView

数据刷新失败时调用,msg表示错误信息,boolean参数表示是否显示错误视图。该方法调用后OnPullRefreshCallback的failure(String msg)方法会被调用。

.loadMoreComplete()

AbstractCommentModel

加载更多评论数据完成后调用,传入一个数据实体类。该方法调用后OnCommentLoadMoreCallback的complete()方法会被调用。

.loadMoreFailed()

String msg,boolean isShowErrorView

加载更多评论数据失败时调用,msg表示错误信息,boolean参数表示是否显示错误视图。该方法调用后OnCommentLoadMoreCallback的failure(String msg)方法会被调用。

.loadMoreReplyComplete()

AbstractCommentModel

加载更多回复数据完成后调用,传入一个数据实体类。该方法调用后OnReplyLoadMoreCallback的complete()方法会被调用。

.loadMoreReplyFailed()

String msg,boolean isShowErrorView

加载更多评论数据失败时调用,msg表示错误信息,boolean参数表示是否显示错误视图。该方法调用后OnReplyLoadMoreCallback的failure(String msg)方法会被调用。

.getCommentList()

\

获取所有评论数据返回List

.getReplyList()

int position

根据position所在的评论获取所在评论的所有回复数据返回List

.addComment()

C comment

添加一条评论数据到当前的评论数据集合中

.addReply()

R comment,int position

添加一条回复数据到position所在的评论的回复数据集合中

.setEmptyView()

View view

为控件设置空数据视图,注意:此方法必须在loadComplete()方法调用前调用,也就是说要在首次加载数据前调用,否则此方法无效。

.setErrorView()

View view

为控件设置错误视图,注意:此方法必须在loadComplete()方法调用前调用,也就是说要在首次加载数据前调用,否则此方法无效。

.addHeaderView()

View view,boolean canClickable

为控件添加头视图,并且设置该视图是否响应点击事件。注意:此方法建议在loadComplete()方法调用前调用。

.removeHeaderView()

View view

移除当前控件的对应的头视图

.setViewStyleConfigurator()

ViewStyleConfigurator

设置自定义的样式配置器,注意:此方法必须在loadComplete()方法调用前调用,也就是说要在首次加载数据前调用,否则此方法无效。

--

--

--

2、基本使用

第一步:引入控件库:

有两种方法:

1、远程仓库

在module的build.gradle中添加jcenter仓库:

buildscript {

repositories {

jcenter()

}

}

然后在dependencies模块中添加依赖即可:

implementation 'com.jidcoo.android.widget.commentview:CommentView:1.0.0'

2、本地仓库

把源码包下载下来,把commentview库放在与当前module的同级。

然后在dependencies模块中添加本地依赖即可:

implementation project(path: ':commentview')

第二步:引入控件:

控件的引入方法有两种:

1、XML布局文件中引入

android:orientation="vertical" android:layout_width="match_parent"

android:id="@+id/container"

android:layout_height="match_parent">

android:id="@+id/commentView"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

然后在Activity中实例化控件。

2、Java代码中动态创建

//控件容器

LinearLayout mContainer;

CommentView commentView=new CommentView(this,mContainer);

CommentView的构造方法:

public CommentView(Context context, ViewGroup attachTo)

第一个参数是Activity的上下文。第二个参数是ViewGroup,也就是将控件挂靠在这个指定的布局上。注意:当attachTo参数为空时,需要手动把控件添加到布局中,否则控件将不会显示。

第三步:初始化控件:

设置自定义样式配置器:

如果使用默认样式的话就不需要调用这个方法,如果使用自定义样式配置器时调用该方法必须在loadComplete()调用前调用,否则该方法无效。

commentView.setViewStyleConfigurator(你的样式配置器);

设置空数据视图:

如果不需要设置空数据视图就不需要调用这个方法,如果需要设置空数据视图时调用该方法必须在loadComplete()调用前调用,否则该方法无效。

commentView.setEmptyView(你的空数据视图);

设置错误视图:

如果不需要设置错误视图就不需要调用这个方法,如果需要设置错误视图时调用该方法必须在loadComplete()调用前调用,否则该方法无效。

commentView.setErrorView(你的错误视图);

添加控件头视图:

如果不需要添加控件头视图就不需要调用这个方法,如果需要添加控件头视图时调用该方法建议在loadComplete()调用前调用。

commentView.addHeaderView(你的错误视图,是否响应点击事件);

第四步:初始化回调(非常重要,必须初始化):

无论是否需要设置回调,都要调用.buildCallback()方法完成初始化。

并且初始化回调的工作必须要在loadComplete()方法调用之前(即首次加载数据之前)完成,否则控件将无法正常使用。

支持的回调:

1、CustomCommentItemCallback:自定义评论布局回调

2、CustomReplyItemCallback:自定义回复布局回调

3、OnPullRefreshCallback:上拉刷新回调

4、OnCommentLoadMoreCallback:下拉加载更多评论回调

5、OnReplyLoadMoreCallback:加载更多回复回调

6、OnItemClickCallback:Item的点击事件回调

7、OnScrollCallback:控件滚动事件回调

当需要设置回调时:

设置完回调后必须调用.buildCallback()方法,否则回调不会生效,控件也无法正常使用。

commentView.callbackBuilder()

.setOnPullRefreshCallback(你的回调实例)

.onItemClickCallback(你的回调实例)

......设置更多回调

......设置更多回调

//设置完成后必须调用CallbackBuilder的buildCallback()方法,否则设置的回调无效,控件也无法正常显示。

//无论是否设置回调,buildCallback()方法都必须调用。

.buildCallback();

当不需要设置回调时:

必须调用.buildCallback()方法,否则控件也无法正常使用。

commentView.callbackBuilder().buildCallback();

第五步:设置数据:

当所有的初始化工作都完成后,就可以请求后台返回评论数据或加载本地数据为控件设置数据了。完成设置数据后,控件就能正确显示评论数据了。

commentView.loadComplete(你的数据模型实体类);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值