购物车首页展示,adapter

本文深入解析了Fragment1组件的实现细节,包括其继承关系、成员变量、视图初始化、数据加载及适配器使用等核心内容。展示了如何通过ButterKnife进行视图绑定,以及如何利用RecyclerView展示不同类型的商品列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class Fragment1 extends Fragment implements ConteatInterface.Fragment1Interface {
ConteatInterface.PresenterInterface presenterInterface;
List bannes = new ArrayList<>();
List rxxplist = new ArrayList<>();
List mlsslist = new ArrayList<>();
List pzshlist = new ArrayList<>();
@BindView(R.id.my_banner)
XBanner myBanner;
@BindView(R.id.rxxp_recyc)
RecyclerView rxxpRecyc;
@BindView(R.id.pzsh_recyc)
RecyclerView pzshRecyc;
@BindView(R.id.mlss_recyc)
RecyclerView mlssRecyc;
Unbinder unbinder;
RxxpAdapter rxxpAdapter;
MlssAdapter mlssAdapter;
PzshAdapter pzshAdapter;
private BanneDao dao;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.layout_fragment1, container, false);
    unbinder = ButterKnife.bind(this, view);
    return view;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    dao = DaoMaster.newDevSession(getActivity(), "banner").getBanneDao();
    rxxpinit();
    mlssinit();
    pzshinit();

    presenterInterface = new MyPresenter<>(this);
    boolean not = OkHttpUtil.isNot(getActivity());
    if (not) {
        presenterInterface.getBanners();
    } else {
        List<Banne> bannes = dao.loadAll();
        myBanner.setData(bannes, null);
        myBanner.loadImage(new XBanner.XBannerAdapter() {
            @Override
            public void loadBanner(XBanner banner, Object model, View view, int position) {
                Glide.with(getActivity()).load(bannes.get(position).getImageUrl()).into((ImageView) view);
            }
        });
        myBanner.startAutoPlay();
    }

    presenterInterface.getDatas();

}

private void mlssinit() {
    LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    mlssRecyc.setLayoutManager(layoutManager);
    mlssAdapter = new MlssAdapter(mlsslist, getActivity());
    mlssRecyc.setAdapter(mlssAdapter);
}

private void pzshinit() {
    GridLayoutManager layoutManager = new GridLayoutManager(getActivity(), 2);
    pzshRecyc.setLayoutManager(layoutManager);
    pzshAdapter = new PzshAdapter(pzshlist, getActivity());
    pzshRecyc.setAdapter(pzshAdapter);
}

private void rxxpinit() {
    LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
    layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
    rxxpRecyc.setLayoutManager(layoutManager);

    rxxpAdapter = new RxxpAdapter(rxxplist, getActivity());
    rxxpRecyc.setAdapter(rxxpAdapter);
}

@Override
public void showBanner(Object o) {
    BannerBean bannerBean = (BannerBean) o;
    bannes.addAll(bannerBean.getResult());

    myBanner.setData(bannes, null);
    myBanner.loadImage(new XBanner.XBannerAdapter() {
        @Override
        public void loadBanner(XBanner banner, Object model, View view, int position) {
            Glide.with(getActivity()).load(bannes.get(position).getImageUrl()).into((ImageView) view);
        }
    });
    myBanner.startAutoPlay();
    dao.insertOrReplaceInTx(bannes);
}

@Override
public void showDatas(Object o) {
    GoodsBean goodsBean = (GoodsBean) o;
    Rxxp rxxp = goodsBean.getResult().getRxxp();
    rxxplist.addAll(rxxp.getCommodityList());
    rxxpAdapter.notifyDataSetChanged();

    Mlss mlss = goodsBean.getResult().getMlss();
    mlsslist.addAll(mlss.getCommodityList());
    mlssAdapter.notifyDataSetChanged();

    Pzsh pzsh = goodsBean.getResult().getPzsh();
    pzshlist.addAll(pzsh.getCommodityList());
    pzshAdapter.notifyDataSetChanged();

}

@Override
public void onDestroyView() {
    super.onDestroyView();
    unbinder.unbind();
    if (presenterInterface != null) {
        presenterInterface.getDatas();
    }
}

}

adapter

RxxpAdapter

public class RxxpAdapter extends RecyclerView.Adapter<RxxpAdapter.RxxpHolder>{
List list;
Context context;

public RxxpAdapter(List<Goods> list, Context context) {
    this.list = list;
    this.context = context;
}

@NonNull
@Override
public RxxpHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View view = LayoutInflater.from(context).inflate(R.layout.layout_rxxpadpater,null);
    return new RxxpHolder(view);
}

@Override
public void onBindViewHolder(@NonNull RxxpHolder rxxpHolder, int i) {
    Glide.with(context).load(list.get(i).getMasterPic()).into(rxxpHolder.rxxp_image);
    rxxpHolder.rxxp_name.setText(list.get(i).getCommodityName());
    rxxpHolder.rxxp_price.setText(list.get(i).getPrice()+"");
}

@Override
public int getItemCount() {
    return list.size();
}

public class RxxpHolder extends RecyclerView.ViewHolder {
    PhotoView rxxp_image;
    TextView rxxp_name,rxxp_price;
    public RxxpHolder(@NonNull View itemView) {
        super(itemView);
        rxxp_image = itemView.findViewById(R.id.rxxp_image);
        rxxp_name = itemView.findViewById(R.id.rxxp_name);
        rxxp_price = itemView.findViewById(R.id.rxxp_price);
    }
}

}
MlssAdapter
public class MlssAdapter extends RecyclerView.Adapter<MlssAdapter.MlssHolder> {
List list;
Context context;

public MlssAdapter(List<Goods> list, Context context) {
    this.list = list;
    this.context = context;
}

@NonNull
@Override
public MlssHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View view = LayoutInflater.from(context).inflate(R.layout.layout_mlssadpater,null);
    return new MlssHolder(view);
}

@Override
public void onBindViewHolder(@NonNull MlssHolder mlssHolder, int i) {
    Glide.with(context).load(list.get(i).getMasterPic()).into(mlssHolder.mlss_image);
    mlssHolder.mlss_name.setText(list.get(i).getCommodityName());
    mlssHolder.mlss_price.setText(list.get(i).getPrice()+"");
}

@Override
public int getItemCount() {
    return list.size();
}

public class MlssHolder extends RecyclerView.ViewHolder {
    PhotoView mlss_image;
    TextView mlss_name,mlss_price;
    public MlssHolder(@NonNull View itemView) {
        super(itemView);
        mlss_image = itemView.findViewById(R.id.mlss_image);
        mlss_name = itemView.findViewById(R.id.mlss_name);
        mlss_price = itemView.findViewById(R.id.mlss_price);
    }
}

}
PzshAdapter
public class PzshAdapter extends RecyclerView.Adapter<PzshAdapter.PzshHolder> {
List list;
Context context;

public PzshAdapter(List<Goods> list, Context context) {
    this.list = list;
    this.context = context;
}
@NonNull
@Override
public PzshHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View view =LayoutInflater.from(context).inflate(R.layout.layout_pzshadpater,null);
    return new PzshHolder(view);
}

@Override
public void onBindViewHolder(@NonNull PzshHolder pzshHolder, int i) {
    Glide.with(context).load(list.get(i).getMasterPic()).into(pzshHolder.pzsh_image);
    pzshHolder.pzsh_name.setText(list.get(i).getCommodityName());
    pzshHolder.pzsh_price.setText(list.get(i).getPrice()+"");
}

@Override
public int getItemCount() {
    return list.size();
}

public class PzshHolder extends RecyclerView.ViewHolder {
    PhotoView pzsh_image;
    TextView pzsh_name,pzsh_price;
    public PzshHolder(@NonNull View itemView) {
        super(itemView);

        pzsh_image = itemView.findViewById(R.id.pzsh_image);
        pzsh_name = itemView.findViewById(R.id.pzsh_name);
        pzsh_price = itemView.findViewById(R.id.pzsh_price);
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值