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