购物车分类 仅供参考

recyclerView = view.findViewById(R.id.classify_recycleview);

    Gson gson = new Gson();
    ClassifyLeftBean fromJson = gson.fromJson(json, ClassifyLeftBean.class);
    final List<ClassifyLeftBean.DataBean> data = fromJson.getData();
    final MyRecycleViewAdapter recycleViewAdapter = new MyRecycleViewAdapter(data);
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
    recyclerView.setLayoutManager(linearLayoutManager);
    recyclerView.setAdapter(recycleViewAdapter);


    ClassifyLeftBean.DataBean dataBean = data.get(0);
    FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
    FragmentTransaction beginTransaction = fragmentManager.beginTransaction();
    ClassifyRightFragment rightFragment = new ClassifyRightFragment();
    beginTransaction.replace(R.id.classify_framelayout, rightFragment);
    Bundle bundle = new Bundle();
    int cid = dataBean.getCid();
    bundle.putInt("cid", cid);
    rightFragment.setArguments(bundle);
    beginTransaction.commit();

    recycleViewAdapter.setSetOnItemClickListener(new MyRecycleViewAdapter.setOnItemClickListener() {
        @Override
        public void setOnItemclick(int position) {

            //点击改变字体颜色背景颜色
            recycleViewAdapter.setThisPosition(position);
            recycleViewAdapter.notifyDataSetChanged();


            ClassifyLeftBean.DataBean dataBean = data.get(position);
            FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
            FragmentTransaction beginTransaction = fragmentManager.beginTransaction();
            ClassifyRightFragment rightFragment = new ClassifyRightFragment();
            beginTransaction.replace(R.id.classify_framelayout, rightFragment);
            Bundle bundle = new Bundle();
            int cid = dataBean.getCid();
            bundle.putInt("cid", cid);
            rightFragment.setArguments(bundle);
            beginTransaction.commit();

        }
    });
public class MyRecycleViewAdapter extends RecyclerView.Adapter<MyRecycleViewAdapter.MyViewHolder> {
    private List<ClassifyLeftBean.DataBean> data;

    public MyRecycleViewAdapter(List<ClassifyLeftBean.DataBean> data) {
        this.data = data;
    }

    //先声明一个int成员变量
    private int thisPosition;

    //再定义一个int类型的返回值方法
    public int getthisPosition() {
        return thisPosition;
    }


    public void setThisPosition(int thisPosition) {
        this.thisPosition = thisPosition;
    }

    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.classify_left_item, parent, false);
        MyViewHolder myViewHolder = new MyViewHolder(inflate);
        return myViewHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, final int position) {
        holder.title.setText(data.get(position).getName());
        holder.title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (setOnItemClickListener != null) {
                    setOnItemClickListener.setOnItemclick(position);
                }

            }
        });
        if (position == getthisPosition()) {
            holder.title.setBackgroundColor(Color.RED);
            holder.title.setTextColor(Color.WHITE);
        } else {
            holder.title.setBackgroundColor(Color.WHITE);
            holder.title.setTextColor(Color.BLACK);
        }
    }

    @Override
    public int getItemCount() {
        return data == null ? 0 : data.size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {

        private final TextView title;

        public MyViewHolder(View itemView) {
            super(itemView);
            title = itemView.findViewById(R.id.classify_left_text_tv);
        }

    }

    public void setSetOnItemClickListener(MyRecycleViewAdapter.setOnItemClickListener setOnItemClickListener) {
        this.setOnItemClickListener = setOnItemClickListener;
    }

    private setOnItemClickListener setOnItemClickListener;

    public interface setOnItemClickListener {
        void setOnItemclick(int position);
    }
}
recyclerView = view.findViewById(R.id.classify_right_recycle);
    textView = view.findViewById(R.id.classify_gps);

    Bundle bundle = getArguments();
    id = bundle.getInt("cid");



    Gson gson = new Gson();
    ClassifyRight classifyRight = gson.fromJson(json, ClassifyRight.class);
    List<ClassifyRight.DataBean> data = classifyRight.getData();
    MyRightRecycleAdapter myRightRecycleAdapter = new MyRightRecycleAdapter(data, getContext());
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
    linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    recyclerView.setLayoutManager(linearLayoutManager);
    recyclerView.setAdapter(myRightRecycleAdapter);
public class MyRightRecycleAdapter extends RecyclerView.Adapter<MyRightRecycleAdapter.MyViewHolder1> {
    private List<ClassifyRight.DataBean> list;
    private Context context;

    public MyRightRecycleAdapter(List<ClassifyRight.DataBean> list, Context context) {
        this.list = list;
        this.context = context;
    }

    @NonNull
    @Override
    public MyViewHolder1 onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.classify_title_item, parent, false);
        MyViewHolder1 myViewHolder1 = new MyViewHolder1(inflate);

        return myViewHolder1;
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder1 holder, int position) {
        holder.title.setText(list.get(position).getName());
        List<ClassifyRight.DataBean.ListBean> list = this.list.get(position).getList();
        MyRightRecycleChildAdapter rightRecycleChildAdapter = new MyRightRecycleChildAdapter(list);

        GridLayoutManager gridLayoutManager = new GridLayoutManager(context, 3);

        gridLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        holder.recyclerView.setLayoutManager(gridLayoutManager);
        holder.recyclerView.setAdapter(rightRecycleChildAdapter);


    }

    @Override
    public int getItemCount() {
        return list == null ? 0 : list.size();
    }

    public class MyViewHolder1 extends RecyclerView.ViewHolder {

        private final TextView title;
        private final RecyclerView recyclerView;

        public MyViewHolder1(View itemView) {
            super(itemView);
            title = itemView.findViewById(R.id.classify_group_title);
            recyclerView = itemView.findViewById(R.id.classidy_child_recycle);
        }
    }
public class MyRightRecycleChildAdapter extends RecyclerView.Adapter<MyRightRecycleChildAdapter.MyViewHolder2> {
    private List<ClassifyRight.DataBean.ListBean> list;

    public MyRightRecycleChildAdapter(List<ClassifyRight.DataBean.ListBean> list) {
        this.list = list;
    }

    @NonNull
    @Override
    public MyViewHolder2 onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.classify_title_child_item, parent, false);
        MyViewHolder2 myViewHolder2 = new MyViewHolder2(inflate);
        return myViewHolder2;
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder2 holder, int position) {
        holder.name.setText(list.get(position).getName());
        String icon = list.get(position).getIcon();
        ImageLoader.getInstance().displayImage(icon, holder.pic, MyApp.getOptions());
    }

    @Override
    public int getItemCount() {
        return list == null ? 0 : list.size();
    }

    public class MyViewHolder2 extends RecyclerView.ViewHolder {

        private final ImageView pic;

        private final TextView name;

        public MyViewHolder2(View itemView) {
            super(itemView);
            pic = itemView.findViewById(R.id.classify_title_child_pic);
            name = itemView.findViewById(R.id.classify_title_child_name);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_41701790/article/details/80864705