//适配器
public class ClassifyRecyclerView extends RecyclerView.Adapter<ClassifyRecyclerView.MyViewHolder> {
//有参构造
private Context context;
private ArrayList<ClassifyBean.DataBean> arr;
public ClassifyRecyclerView(Context context, ArrayList<ClassifyBean.DataBean> arr) {
this.context = context;
this.arr = arr;
}
//绘制布局
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = View.inflate(context, R.layout.classifyrecyclerview, null);
MyViewHolder myViewHolder = new MyViewHolder(view);
return myViewHolder;
}
//设置控件内容
@Override
public void onBindViewHolder(@NonNull final MyViewHolder holder, final int position) {
String name = arr.get(position).getName();
holder.classify_lefttext.setText(name);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int cid = arr.get(position).getCid();
// viewHolder.fenlei_left_name.setTextColor(Color.parseColor("#ff0000"));
holder.itemView.setBackgroundColor(Color.parseColor("#ff0000"));
holder.classify_lefttext.setTextColor(Color.parseColor("#ff0000"));
holder.classify_lefttext.setBackgroundColor(Color.parseColor("#f0f0f0"));
Toast.makeText(context, "点击子项"+position+"点击的id为"+cid, Toast.LENGTH_SHORT).show();
}
});
}
//集合的长度
@Override
public int getItemCount() {
return arr.size();
}
//获取布局的看控件
public class MyViewHolder extends RecyclerView.ViewHolder {
private final TextView classify_lefttext;
public MyViewHolder(View itemView) {
super(itemView);
classify_lefttext = itemView.findViewById(R.id.classify_lefttext);
}
}
}
//调用使用方法、 请求数据回来之后向适配器中传入上下文,数据源
ClassifyBean classifyBean = new Gson().fromJson(result, ClassifyBean.class);
String code = classifyBean.getCode();
if(code.equals("0")){
ArrayList<ClassifyBean.DataBean> data = (ArrayList<ClassifyBean.DataBean>) classifyBean.getData();
// 线性布局管理器 VERTICAL默认样式/竖向显示 第三个参数是数据是否到过来显示
LinearLayoutManager manager = new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false);
// GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 2, GridLayoutManager.HORIZONTAL, false);
classLeftrcv.addItemDecoration(new RecycleViewDivider());
classLeftrcv.setLayoutManager(manager);
//添加Android自带的分割线
classLeftrcv.addItemDecoration(new DividerItemDecoration(getContext(),DividerItemDecoration.VERTICAL));
//设置适配器
classLeftrcv.setAdapter(new ClassifyRecyclerView(getContext(),data));