CymChad / BaseRecyclerViewAdapterHelper

BRVAH:Powerful and flexible RecyclerAdapter
http://www.recyclerview.org/
MIT License
24.29k stars 5.15k forks source link

怎么给LoadingMoreView设置点击事件 #1118

Closed missu263 closed 7 years ago

missu263 commented 7 years ago

老哥你好,翻了一下提问历史,没有找到相关问题哦,所以直接来提问了。

实际开发中有个需求就是要对加载完成的LoadingMoreView设置点击事件,但是看了一下老哥源码,发现对Header和Footer的触摸事件进行了拦截

        @Override
        public boolean onSingleTapUp(MotionEvent e) {
            if (mIsPrepressed && mPressedView != null) {
                if (recyclerView.getScrollState()!=RecyclerView.SCROLL_STATE_IDLE){
                    return false;
                }
                final View pressedView = mPressedView;
                BaseViewHolder vh = (BaseViewHolder) recyclerView.getChildViewHolder(pressedView);

                if (isHeaderOrFooterPosition(vh.getLayoutPosition())) {
                    return false;
                }

请问还有其他方法对LoadingMoreView进行设置点击事件吗?非常期待老哥的回答

1109993488 commented 7 years ago

没有提供设置事件的方法,只处理了加载失败点击事件回调加载更多

missu263 commented 7 years ago

`public class CustomLoadMoreView extends LoadMoreView {

public CustomLoadMoreView() {
}

@Override
public void convert(BaseViewHolder holder) {
    super.convert(holder);
    if(getLoadMoreStatus() == STATUS_END){
        holder.getConvertView().setOnClickListener(v -> {

            ToastUtils.showToast(holder.getConvertView().getContext(),"点击了加载完成....");

        });
    }
}`

虽然没有暴露出来接口,但是已经这样设置好了