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
        相关问题
        资质平平 · Android
        2025-02-20 09:14 96 100
        尖沙咀-段坤 · 项目
        2025-01-06 23:39 19 2
        雅澤yaduo · 领券联盟
        2025-01-03 20:39 55 50
        呆瓜小董 · webview
        2024-11-30 18:02 82 20
        阿肥 · 鸿蒙next
        2024-10-25 18:07 38 100
        尖沙咀-段坤 · 安卓
        2024-09-11 11:03 32 2
        YanLQ · AOSP
        2024-08-10 11:57 38 100
        断点 · vue
        2024-08-08 10:05 82 30