Baserecyclerviewadapterhelper: 想做局部刷新,但是BaseRecyclerViewAdapterHelper没有重载payloads参数的onBindViewHolder()

Created on 21 Dec 2017  ·  5Comments  ·  Source: CymChad/BaseRecyclerViewAdapterHelper

`
项目只重载了 两个参数的
public abstract void onBindViewHolder(VH holder, int position);

而没有重载带payloads参数的
public void onBindViewHolder(VH holder, int position, List payloads)

可以加上吗
`

Most helpful comment

我也希望作者能加上重载三个参数 onBindViewHolder(VH holder, int position, List payloads)的情况。前面我已提出过,一直没有得到解决

All 5 comments

`当前使用版本:
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.28'
使用代码:

protected void feedLike(final int position, FeedList model) {
FeedLikeRequestBean bean = FeedLikeRequestBean_.getInstance_(getActivity());
bean.versionCode = AndroidUtil.getVersionCode(getActivity());
bean.phone = dc.getUserModel().phone;
bean.yihuaId = String.valueOf(dc.getUserModel().id);
bean.feedId = model.feedId + "";
try {
bean.key = YHAESUtil.getKey(getActivity(), appPrefs_.aesLoginServiceTime().get(), System.currentTimeMillis() - appPrefs_.aesLoginTime().get(), bean.paramsKey.apiCommunityFeed, bean.phone);
} catch (Exception e) {
bean.key = "";
}

    feedLikePresenter.doFragment(bean, "", this, new OnCallBackListener<FeedLikeResponseBean>() {

        @Override
        public void onSuccess(FeedLikeResponseBean respBean) {
            if (!baseProcessUtil.isService19(respBean)) {
                String resultCode = respBean.resultCode;
                switch (resultCode) {
                    case CommResultCode.CODE_1001:
                        model.selfUpvoted = 1;// 更新点赞图标
                        model.upvoteTimes++;// 更新点赞次数
                        mAdapter.notifyItemChanged(position);
                        break;
                    default:
                        toast(getYString(R.string.net_error) + resultCode);
                        break;
                }
            } else {
                toast(getYString(R.string.aes_error));
            }
        }

        @Override
        public void onError(int errorCode) {
            toast(getYString(R.string.net_error) + errorCode);
        }
    });
}

已经查看了历史问题,在没有 重载三个参数 onBindViewHolder(VH holder, int position, List payloads)的情况下,作者可以把这个重载加上吗?

附上stackoverflow的链接:
https://stackoverflow.com/questions/36956643/partial-update-of-recyclerview-viewholder

`

有没有其他办法能做到局部刷新呢,我暂时没试验出来,所以想请教一下您

我也希望作者能加上重载三个参数 onBindViewHolder(VH holder, int position, List payloads)的情况。前面我已提出过,一直没有得到解决

收到

局部刷新,是不是很不完美呢?

Was this page helpful?
0 / 5 - 0 ratings