0
  • 最佳答案

    各位甩锅...我这边自己解决了..开始以为是组建冲突,,一个个删了还这样..最后发现是自己刚学的viewBinding在adapter里面的使用有问题

    1553416577242632194  评论     打赏       hui7405847
    • 【向下滑动的过程中没有滑出屏幕这个item也会被反复重新绑定数据】适配器代码贴一贴

      1139423796017500160  评论     打赏       断点
      • 图画得不错,但是代码猜不出来。

        1153952789488054272  评论     打赏       拉大锯
        • hui7405847  回复 @拉大锯
          网站好像有问题,已提出的问题编辑后再提交就显示问题不存在..另外,代码贴在下面了
          hui7405847 2022-08-23 11:22   回复 1553416577242632194
        • 拉大锯  回复 @hui7405847
          嗯,我下班看看。
          拉大锯 2022-08-23 11:42   回复 1153952789488054272
      • 提出来的问题好像没法重新编辑了,修改后在提交就显示问题不存在..下面是适配器的代码:

        public class HomePagerContentAdapter extends RecyclerView.Adapter<HomePagerContentAdapter.InnerHolder> {
            List<HomePagerContent.DataBean>  data = new ArrayList<>();
            private ItemHomePagerContentBinding mBinding;
            @NonNull
            @Override
            public InnerHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                logUtils.d(this, "----------------onCreateViewHolder");
                mBinding = ItemHomePagerContentBinding.inflate(LayoutInflater.from(parent.getContext()),parent,false);
                return new InnerHolder(mBinding.getRoot());
            }
        
        
            @Override
            public void onBindViewHolder(@NonNull InnerHolder holder, int position) {
                logUtils.d(this, "----------------onBindViewHolder");
                //设置数据
                HomePagerContent.DataBean dataBean = data.get(position);
                holder.setData(dataBean);
            }
        
            @Override
            public int getItemCount() {
                return data.size();
            }
        
            public void setData(List<HomePagerContent.DataBean> contents) {
                logUtils.d(this, "-----------------"+contents.size());
                data.clear();
                data.addAll(contents);
                notifyDataSetChanged();
            }
        
            public void addData(List<HomePagerContent.DataBean> contents) {
                //添加之前拿到原来的size
                int olderSize = data.size();
                data.addAll(contents);
                //更新UI
                notifyItemRangeChanged(olderSize,contents.size());
            }
        
            public class InnerHolder extends RecyclerView.ViewHolder {
                public InnerHolder(@NonNull View itemView) {
                    super(itemView);
                }
        
                public void setData(HomePagerContent.DataBean dataBean) {
                    mBinding.goodsTitle.setText(dataBean.getTitle());
        
                    logUtils.d(this, dataBean.getTitle()+"------"+ (i++) );
                    //根据图片框的大小动态请求不同大小的图片
                    ViewGroup.LayoutParams coverParams = mBinding.goodsCover.getLayoutParams();
                    int width = coverParams.width;
                    int height = coverParams.height;
                    int coverSize = Math.max(width, height);
        
                    String coverUrl = "https:" + dataBean.getPict_url()+"_"+coverSize+"x"+coverSize+".jpg";
        
                    Glide.with(itemView.getContext()).load(coverUrl).into(mBinding.goodsCover);
                    mBinding.goodsOffPrise.setText(String.format(itemView.getContext().getString(R.string.text_goods_off_prise), dataBean.getCoupon_amount()));
                    mBinding.goodsAfterOffPrise.setText(dataBean.getZk_final_price());
                    mBinding.goodsOriginalPrise.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
                    mBinding.goodsSellCont.setText(String.format(itemView.getContext().getString(R.string.text_goods_sell_cont), dataBean.getVolume()));
                }
            }
        }
        
        1553416577242632194  评论     打赏       hui7405847
        相关问题
        彭于晏盐城分晏 · recyclerview
        2019-10-30 00:34 689 2
        哦豁! · RecyclerView
        2019-12-20 04:20 1081 4
        痞子小小崔 · recyclerView
        2020-05-28 03:37 400 13
        葬礼上的假发 · Recyclerview
        2020-12-10 06:54 728 2
        Nuttertools · recyclerview联调
        2020-12-26 18:16 451 5