商品列表展示

xiaoxiao2025-10-14  7

package soexample.umeng.com.xuzaizahuopu.presenter; import android.content.Context; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.widget.Toast; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; import soexample.umeng.com.xuzaizahuopu.R; import soexample.umeng.com.xuzaizahuopu.adapter.MyRecyclerLeftAdapter; import soexample.umeng.com.xuzaizahuopu.adapter.MyRecyclerRightAdapter; import soexample.umeng.com.xuzaizahuopu.listener.HttpListener; import soexample.umeng.com.xuzaizahuopu.model.ChildBean; import soexample.umeng.com.xuzaizahuopu.model.JiuBean; import soexample.umeng.com.xuzaizahuopu.net.OkHttp; import soexample.umeng.com.xuzaizahuopu.view.AppDelegate; public class ListFragmentPresenter extends AppDelegate { private Context context; private RecyclerView list_recycler_view_left; private RecyclerView list_recycler_view_right; private String url = "http://www.zhaoapi.cn/product/getCatagory"; private String curl = "http://www.zhaoapi.cn/product/getProductCatagory"; private MyRecyclerLeftAdapter adapter; private List<JiuBean.DataBean> dataBeanList = new ArrayList<>(); private JiuBean jiuBean; private MyRecyclerRightAdapter childadapter; @Override protected int getLayoutId() { return R.layout.list_layout; } @Override public void initData() { super.initData(); //创建管理器 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context); LinearLayoutManager linearLayoutManagerright = new LinearLayoutManager(context); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); //设置左边管理器 list_recycler_view_left = get(R.id.list_recycler_view_left); list_recycler_view_left.setLayoutManager(linearLayoutManager); //设置右边管理器 list_recycler_view_right = get(R.id.list_recycler_view_right); list_recycler_view_right.setLayoutManager(linearLayoutManagerright); doHttpLeft(); //创建adapter adapter = new MyRecyclerLeftAdapter(dataBeanList,context); list_recycler_view_left.setAdapter(adapter); //接口回调点击事件 adapter.setItemClick(new MyRecyclerLeftAdapter.onItemClick() { int cid; @Override public void onItem(int positon) { cid = dataBeanList.get(positon).getCid(); Toast.makeText(context,cid+"",Toast.LENGTH_SHORT).show(); doHttpRight(cid); } }); //创建adapter childadapter = new MyRecyclerRightAdapter(context); list_recycler_view_right.setAdapter(childadapter); } private void doHttpRight(int cid) { new OkHttp().get(curl+"?cid="+cid).setListener(new HttpListener() { @Override public void onSuccess(String data) { Gson gson = new Gson(); ChildBean childBean = gson.fromJson(data, ChildBean.class); List<ChildBean.DataBean> beanData = childBean.getData(); childadapter.setList(beanData); } @Override public void oonFailure(String data) { } }); } //右边 private void doHttpLeft() { new OkHttp().get(url).setListener(new HttpListener() { @Override public void onSuccess(String data) { Gson gson = new Gson(); jiuBean = gson.fromJson(data, JiuBean.class); dataBeanList.addAll(jiuBean.getData()); adapter.notifyDataSetChanged(); doHttpRight(dataBeanList.get(0).getCid()); } @Override public void oonFailure(String data) { } }); } @Override public void getContext(Context context) { this.context = context; } } package soexample.umeng.com.xuzaizahuopu.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.RelativeLayout; import android.widget.TextView; import java.util.List; import soexample.umeng.com.xuzaizahuopu.R; import soexample.umeng.com.xuzaizahuopu.model.ChildBean; import soexample.umeng.com.xuzaizahuopu.model.JiuBean; public class MyRecyclerLeftAdapter extends RecyclerView.Adapter<MyRecyclerLeftAdapter.MyViewHodler> { private List<JiuBean.DataBean> list; private Context context; public MyRecyclerLeftAdapter(List<JiuBean.DataBean> list, Context context) { this.list = list; this.context = context; } @NonNull @Override public MyViewHodler onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = View.inflate(context, R.layout.recycler_left_item_layout, null); MyViewHodler hodler = new MyViewHodler(view); hodler.textView = view.findViewById(R.id.left_text); hodler.relativeLayout = view.findViewById(R.id.left_relative); return hodler; } @Override public void onBindViewHolder(@NonNull MyViewHodler holder, final int position) { holder.textView.setText(list.get(position).getName()); holder.relativeLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { itemClick.onItem(position); } }); } @Override public int getItemCount() { return list.size(); } public class MyViewHodler extends RecyclerView.ViewHolder { TextView textView; RelativeLayout relativeLayout; public MyViewHodler(View itemView) { super(itemView); } } private onItemClick itemClick; public void setItemClick(onItemClick itemClick) { this.itemClick = itemClick; } public interface onItemClick{ void onItem(int positon); } } package soexample.umeng.com.xuzaizahuopu.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.StaggeredGridLayoutManager; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import java.util.ArrayList; import java.util.List; import soexample.umeng.com.xuzaizahuopu.R; import soexample.umeng.com.xuzaizahuopu.model.ChildBean; public class MyRecyclerRightAdapter extends RecyclerView.Adapter<MyRecyclerRightAdapter.MyViewHolder> { private List<ChildBean.DataBean> list = new ArrayList<>(); private Context context; public MyRecyclerRightAdapter(Context context) { this.context = context; } @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = View.inflate(context, R.layout.recycler_right_item_layout, null); MyViewHolder holder = new MyViewHolder(view); holder.textView = view.findViewById(R.id.right_text); holder.recyclerView = view.findViewById(R.id.right_recyclerView); return holder; } @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { holder.textView.setText(list.get(position).getName()); createRecyclerView(holder.recyclerView,list.get(position).getList()); } private void createRecyclerView(RecyclerView recyclerView, List<ChildBean.DataBean.ListBean> list) { StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL); recyclerView.setLayoutManager(staggeredGridLayoutManager); MyChildAdapter adapter = new MyChildAdapter(list,context); recyclerView.setAdapter(adapter); } @Override public int getItemCount() { return list.size(); } public void setList(List<ChildBean.DataBean> list) { this.list = list; notifyDataSetChanged(); } public class MyViewHolder extends RecyclerView.ViewHolder{ TextView textView; RecyclerView recyclerView; public MyViewHolder(View itemView) { super(itemView); } } }

 

转载请注明原文地址: https://www.6miu.com/read-5037906.html

最新回复(0)