京东的列表展示

xiaoxiao2025-10-16  13

//设置布局管理器 public class Frament01Presenter extends AppcreteIml{ private RecyclerView recycler_01,recycler_02; private String url="http://www.zhaoapi.cn/product/getCatagory"; private String url2="http://www.zhaoapi.cn/product/getProductCatagory?cid="; private List<LeftBean.DataBean> list=new ArrayList<>(); private LeftAdapter leftAdapter; private RightAdapter rightAdapter; @Override public int getLayoutId() { return R.layout.frament_01; } @Override public void initData() { //初始化控件 recycler_01=(RecyclerView)get(R.id.recycler_01); recycler_02=(RecyclerView)get(R.id.recycler_02); //设置适配器 leftAdapter = new LeftAdapter(context); //设置布局管理器 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); recycler_01.setLayoutManager(linearLayoutManager); //把适配器设置给recycler recycler_01.setAdapter(leftAdapter); //设置联网请求 doHttp(); //设置适配器 rightAdapter = new RightAdapter(context); //设置布局管理器 LinearLayoutManager linearLayoutManager1 = new LinearLayoutManager(context); linearLayoutManager1.setOrientation(LinearLayoutManager.VERTICAL); recycler_02.setLayoutManager(linearLayoutManager1); //把适配器设置给recycler recycler_02.setAdapter(rightAdapter); doHttp2(1); leftAdapter.result(new LeftAdapter.HttpLister() { @Override public void success(int postion) { int cid = list.get(postion).getCid(); doHttp2(cid); leftAdapter.notifyDataSetChanged(); } }); } private void doHttp2(int cid) { new OkHttp1().get(url2+cid).result(new OkHttp1.HttpLister() { @Override public void success(String data) { List<RightBean.DataBean> rightlist = new Gson().fromJson(data, RightBean.class).getData(); rightAdapter.setList(rightlist); } }); } private void doHttp() { new OkHttp1().get(url).result(new OkHttp1.HttpLister() { @Override public void success(String data) { list = new Gson().fromJson(data, LeftBean.class).getData(); leftAdapter.setList(list); } }); } private Context context; @Override public void getContext(Context context) { this.context=context; } } //左边的适配器 public class LeftAdapter extends RecyclerView.Adapter<LeftAdapter.MyViewHolder>{ private Context context; private List<LeftBean.DataBean> list=new ArrayList<>(); public LeftAdapter(Context context) { this.context=context; } @Override public LeftAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=View.inflate(context, R.layout.left_layout,null); MyViewHolder myViewHolder = new MyViewHolder(view); return myViewHolder; } @Override public void onBindViewHolder(LeftAdapter.MyViewHolder holder, final int position) { holder.left_txt.setText(list.get(position).getName()); //条目点击事件 holder.left_txt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { lister.success(position); } }); } @Override public int getItemCount() { return list.size(); } public void setList(List<LeftBean.DataBean> list) { this.list = list; notifyDataSetChanged(); } public class MyViewHolder extends RecyclerView.ViewHolder { private TextView left_txt; public MyViewHolder(View itemView) { super(itemView); //初始化布局中的控件 left_txt=(TextView)itemView.findViewById(R.id.left_txt); } } //点击的接口回调 private HttpLister lister; public void result(HttpLister lister){ this.lister=lister; } public interface HttpLister{ void success(int postion); } } //右边的商家名称适配器 public class RightAdapter extends RecyclerView.Adapter<RightAdapter.MyViewHolder>{ private Context context; private List<RightBean.DataBean> list=new ArrayList<>(); public RightAdapter(Context context) { this.context=context; } @Override public RightAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=View.inflate(context, R.layout.right_layout,null); MyViewHolder myViewHolder = new MyViewHolder(view); return myViewHolder; } @Override public void onBindViewHolder(RightAdapter.MyViewHolder holder, int position) { //设置商家名称 holder.right_txt.setText(list.get(position).getName()); //设置商品的集合 List<RightBean.DataBean.ListBean> listAll = list.get(position).getList(); //创建商品的适配器 RightChildAdapter rightChildAdapter = new RightChildAdapter(context,listAll); //创建布局管理器 GridLayoutManager gridLayoutManager = new GridLayoutManager(context, 3); holder.recycle_right_child.setLayoutManager(gridLayoutManager); //把适配器设置给布局 holder.recycle_right_child.setAdapter(rightChildAdapter); } @Override public int getItemCount() { return list.size(); } public void setList(List<RightBean.DataBean> list) { this.list = list; notifyDataSetChanged(); } public class MyViewHolder extends RecyclerView.ViewHolder { TextView right_txt; RecyclerView recycle_right_child; public MyViewHolder(View itemView) { super(itemView); //初始化布局中的控件 recycle_right_child=(RecyclerView)itemView.findViewById(R.id.recycle_right_child); right_txt=(TextView)itemView.findViewById(R.id.right_txt); } } } //右边的商品展示适配器 public class RightChildAdapter extends RecyclerView.Adapter<RightChildAdapter.MyViewHolder>{ private Context context; private List<RightBean.DataBean.ListBean> listAll=new ArrayList<>(); public RightChildAdapter(Context context, List<RightBean.DataBean.ListBean> listAll) { this.context=context; this.listAll=listAll; } @Override public RightChildAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //找到布局 View view=View.inflate(context, R.layout.child_layout,null); MyViewHolder myViewHolder = new MyViewHolder(view); return myViewHolder; } @Override public void onBindViewHolder(RightChildAdapter.MyViewHolder holder, int position) { //设置图片和商品名 holder.child_txt.setText(listAll.get(position).getName()); Picasso.with(context).load(listAll.get(position).getIcon()).fit().into(holder.child_img); } @Override public int getItemCount() { return listAll.size(); } public class MyViewHolder extends RecyclerView.ViewHolder { ImageView child_img; TextView child_txt; public MyViewHolder(View itemView) { super(itemView); //初始化布局中的控件 child_txt=(TextView)itemView.findViewById(R.id.child_txt); child_img=(ImageView)itemView.findViewById(R.id.child_img); } } }
转载请注明原文地址: https://www.6miu.com/read-5038023.html

最新回复(0)