商品列表展示

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);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_42234894/article/details/83385615