XUI的BaseRecyclerAdapter

第三方UI库的使用

关于XUI的BaseRecyclerAdapter的使用

正常使用:
  • 创建一个适配器来继承BaseRecyclerAdapter,想要传入参数(也就是适配器数据)
    1
    public class RecommendedVideoAdapter extends BaseRecyclerAdapter<RecommendVideoBean.BeanData>
  • 创建构造方法
    1
    2
    3
    4
    public RecommendedVideoAdapter(Context context,VideoChoiceDialog videoChoiceDialog) {
    this.videoChoiceDialog = videoChoiceDialog;
    mContext = context;
    }
    将上下文对象传入进来,方便之后的使用
  • 在bindData中写处理数据的操作
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Override
    protected void bindData(@NonNull RecyclerViewHolder holder, int position, RecommendVideoBean.BeanData item) {
    cover = holder.findViewById(R.id.Re_cover);
    play_volume = holder.findViewById(R.id.Re_play_volume);
    barrage_volume = holder.findViewById(R.id.Re_barrage_volume);
    Re_video = holder.findViewById(R.id.Re_video_cover);
    title = holder.findViewById(R.id.Re_title);
    more = holder.findViewById(R.id.Re_more);
    Re_video.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent intent = new Intent(mContext, VideoActivity.class);
    intent.putExtra("id", videoBean.getData().get(position).getId());
    intent.putExtra("uid", videoBean.getData().get(position).getUid());
    mContext.startActivity(intent);
    }
    });
    if (item != null) {
    initData(item);
    }
    }

    private void initData(RecommendVideoBean.BeanData item) {
    Glide.with(mContext)
    .load(item.getCover())
    .into(cover);
    play_volume.setText(item.getPlayNum() + "");
    barrage_volume.setText(item.getDanmunum() + "");
    title.setText(item.getTitle());
    }
    包括获取控件和初始化数据
    在Avtivity/Fragment中的使用:
  • 初始化
    1. 获取RecyclerView控件
    2. 设置RecyclerView的排列方式
    3. 创建适配器对象
    4. RecyclerView设置适配器
      1
      2
      3
      4
      GridLayoutManager layoutManager1 = new GridLayoutManager(getContext(), 2);
      adapter = new RecommendedVideoAdapter(getContext(), videoChoiceDialog);
      binding.ReRecy.setLayoutManager(layoutManager1);
      binding.ReRecy.setAdapter(adapter);
  • 加载数据
    直接调用适配器的加载数据的方法,刷新也是一样
    1
    2
    3
    4
    5
    6
    7
    8
    adapter.loadMore(videoBean.getData());
    //loadMore一般是传入一个list(加载)
    for (RecommendVideoBean.BeanData datum : videoBean.getData()) {
    adapter.add(0, datum);
    }
    //add一般是传入一个对象(在末尾添加一个)
    adapter.refresh(videoBean.getData());
    //refresh和加载差不多(刷新)
  • 如果想要有item加载时的动画,那么在调用adapter加载数据的时候,就不能使用 loadMore ,必须使用 add 来一个一个添加,否则是没有动画的