分类的详细

来源:互联网 发布:中经网数据库怎么注册 编辑:程序博客网 时间:2024/06/06 06:38
public interface Fview {    void getData(List_left bean);    void getData1(List_right bean);

}

public interface Fmodel {    void fenlei();    void fenlei11();    void fenlei1(int pid);}

-----------------------


public class FUsermodel implements Fmodel{    // 定义接口变量    private OnFinishLisenter lisenter;    private OnFinishLisenter1 lisenter1;    //定义接口    public interface OnFinishLisenter{        void onFinish(List_left list_left);    }    public interface OnFinishLisenter1{        void onFinish1(List_right list_right);    }    public void setOnFinishLisenter1(OnFinishLisenter1 lisenter1){        this.lisenter1 = lisenter1;    }    public void setOnFinishLisenter(OnFinishLisenter lisenter){        this.lisenter = lisenter;    }    @Override    public void fenlei() {        OkHttp3Utils.doGet("http://120.27.23.105/product/getCatagory", new GsonObjectCallback<List_left>() {            @Override            public void onUi(List_left list_left) {                if(lisenter!=null){                    lisenter.onFinish(list_left);                }            }            @Override            public void onFailed(Call call, IOException e) {            }        });    }    @Override    public void fenlei11() {        OkHttp3Utils.doGet("http://120.27.23.105/product/getProductCatagory", new GsonObjectCallback<List_right>() {            @Override            public void onUi(List_right list_right) {                if(lisenter1!=null){                    lisenter1.onFinish1(list_right);                }            }            @Override            public void onFailed(Call call, IOException e) {            }        });    }    @Override    public void fenlei1(int pid) {        Log.e("分类", "pid"+pid);        HashMap<String, String> map = new HashMap<>();        map.put("cid",pid+"");        OkHttp3Utils.doPost("http://120.27.23.105/product/getProductCatagory", map,new GsonObjectCallback<List_right>() {            @Override            public void onUi(List_right list_right) {                Log.e("TAG", list_right.getMsg() );                if(lisenter1!=null){                    lisenter1.onFinish1(list_right);                }            }            @Override            public void onFailed(Call call, IOException e) {            }        });    }}
--------------------------


public class Fpresenter implements FUsermodel.OnFinishLisenter,FUsermodel.OnFinishLisenter1{    private final FUsermodel FUsermodel;    private Fview fview;    public Fpresenter(Fview fview) {        this.fview = fview;        this.FUsermodel = new FUsermodel();    }    public void fenlei(){        FUsermodel.fenlei();        FUsermodel.setOnFinishLisenter(this);    }    public void fenlei1(int pid){        FUsermodel.fenlei1(pid);        FUsermodel.setOnFinishLisenter1(this);    }    @Override    public void onFinish(List_left list_left) {        fview.getData(list_left);    }    @Override    public void onFinish1(List_right list_right) {        Log.e("TAG", list_right.getMsg() );        fview.getData1(list_right);    }}

---------left---


public class FrecycviewAdapter extends RecyclerView.Adapter<FrecycviewAdapter.FrecycHolder>{    private Context context;    private List<List_left.DataBean> list;    public static int tagPosition;    public static int getTagPosition() {        return tagPosition;    }    public static void setTagPosition(int tagPosition) {        FrecycviewAdapter.tagPosition = tagPosition;    }    public FrecycviewAdapter(Context context, List<List_left.DataBean> list) {        this.context = context;        this.list = list;    }    @Override    public FrecycHolder onCreateViewHolder(ViewGroup parent, int viewType) {        final View view = View.inflate(context, R.layout.fen_left, null);        final FrecycHolder frecycHolder=new FrecycHolder(view);        view.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                recycleViewItemClickListener.recycleViewItemClickListener(frecycHolder.getPosition(), view, frecycHolder);            }        });        return frecycHolder;    }    @Override    public void onBindViewHolder(FrecycHolder holder, int position) {        holder.textView.setText(list.get(position).getName());        if (position == getTagPosition()) {            holder.itemView.setBackgroundResource(R.color.colorPblBackground);        } else {            holder.itemView.setBackgroundResource(R.color.colorwhile);        }    }    @Override    public int getItemCount() {        return list.size();    }    class FrecycHolder extends RecyclerView.ViewHolder{        TextView textView;        public FrecycHolder(View itemView) {            super(itemView);            textView = itemView.findViewById(R.id.tv);        }    }    //声明成员变量    public OnRecycleViewItemClickListener recycleViewItemClickListener;    //定义点击接口    public interface OnRecycleViewItemClickListener {        void recycleViewItemClickListener(int position, View view, RecyclerView.ViewHolder viewHolder);    }    //提供set方法    public void setRecycleViewItemClickListener(OnRecycleViewItemClickListener recycleViewItemClickListener) {        this.recycleViewItemClickListener = recycleViewItemClickListener;    }}
----------------------right---
public class FrecycviewAdapter1 extends RecyclerView.Adapter<FrecycviewAdapter1.FrecycHolder1>{    private Context context;    private List<List_right.DataBean> list;    public FrecycviewAdapter1(Context context, List<List_right.DataBean> list) {        this.context = context;        this.list = list;    }    @Override    public FrecycHolder1 onCreateViewHolder(ViewGroup parent, int viewType) {        View inflate = View.inflate(context, R.layout.fen_right, null);        FrecycHolder1 frecycHolder1 = new FrecycHolder1(inflate);        return frecycHolder1;    }    @Override    public void onBindViewHolder(FrecycHolder1 holder, int position) {        holder.textView.setText(list.get(position).getName());        holder.recyclerView.setLayoutManager(new GridLayoutManager(context,3));        holder.recyclerView.setAdapter(new FrecycviewAdapter2(context,list.get(position).getList()));    }    @Override    public int getItemCount() {        return list.size();    }    class FrecycHolder1 extends RecyclerView.ViewHolder{        TextView textView;        RecyclerView recyclerView;        public FrecycHolder1(View itemView) {            super(itemView);            textView = itemView.findViewById(R.id.tv);            recyclerView = itemView.findViewById(R.id.item_rlv);        }    }}
-----------------------kuai
public class FrecycviewAdapter2 extends RecyclerView.Adapter<FrecycviewAdapter2.FrecycHolder2>{    private Context context;    private List<List_right.DataBean.ListBean> list;    public FrecycviewAdapter2(Context context, List<List_right.DataBean.ListBean> list) {        this.context = context;        this.list = list;    }    @Override    public FrecycHolder2 onCreateViewHolder(ViewGroup parent, int viewType) {        View view = View.inflate(context, R.layout.fen_right_down, null);        FrecycHolder2 frecycHolder2=new FrecycHolder2(view);        return frecycHolder2;    }    @Override    public void onBindViewHolder(FrecycHolder2 holder, int position) {        holder.button.setText(list.get(position).getName());    }    @Override    public int getItemCount() {        return list.size();    }    class FrecycHolder2 extends RecyclerView.ViewHolder{        Button button;        public FrecycHolder2(View itemView) {            super(itemView);            button = itemView.findViewById(R.id.bt1);        }    }    //声明成员变量    public OnRecycleViewItemClickListener recycleViewItemClickListener;    //定义点击接口    public interface OnRecycleViewItemClickListener {        void recycleViewItemClickListener(int position, View view, RecyclerView.ViewHolder viewHolder);    }    //提供set方法    public void setRecycleViewItemClickListener(OnRecycleViewItemClickListener recycleViewItemClickListener) {        this.recycleViewItemClickListener = recycleViewItemClickListener;    }}
------------------------------------------------------------------main
public class Fragment02 extends Fragment implements Fview{    private List<List_left.DataBean> list=new ArrayList<>();    private FrecycviewAdapter frecycviewAdapter;    private FrecycviewAdapter1 frecycviewAdapter1;    private RecyclerView recyclerView,recyclerView1;    private Fpresenter fpresenter;    private List<List_left.DataBean> data;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment02, container, false);        recyclerView = view.findViewById(R.id.type_rvleft);        recyclerView1 = view.findViewById(R.id.type_rvright);        fpresenter = new Fpresenter(this);        fpresenter.fenlei();        return view;    }    @Override    public void getData(final List_left bean) {        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));        frecycviewAdapter=new FrecycviewAdapter(getActivity(), bean.getData());        recyclerView.setAdapter(frecycviewAdapter);        frecycviewAdapter.setRecycleViewItemClickListener(new FrecycviewAdapter.OnRecycleViewItemClickListener() {            @Override            public void recycleViewItemClickListener(int position, View view, RecyclerView.ViewHolder viewHolder) {                frecycviewAdapter.setTagPosition(position);                int cid = bean.getData().get(position).getCid();                fpresenter.fenlei1(cid);                frecycviewAdapter.notifyDataSetChanged();            }        });    }    @Override    public void getData1(List_right bean) {        recyclerView1.setLayoutManager(new LinearLayoutManager(getActivity()));        frecycviewAdapter1= new FrecycviewAdapter1(getActivity(),bean.getData());          recyclerView1.setAdapter(frecycviewAdapter1);    }}