RecyclerView,它是Android5.0的时候出来的一个新控件,主要目的就是替代的ListView和GridView控件,也就是说RecyclerView能够实现ListView控件和GridView中的效果,甚至比原来的更好,更方便,关于RecyclerView的使用本章不做讲解,请自行百度。
本次讲解的RecyclerView万能适配器相比网上的一些例子更加简单,功能更多
通用ViewHoler
package com.cccollector.library.baseadapter;
import android.graphics.Bitmap;
import android.util.SparseArray;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.IdRes;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import static android.view.View.GONE;
import static android.view.View.INVISIBLE;
import static android.view.View.VISIBLE;
public class BaseViewHolder extends RecyclerView.ViewHolder {
private SparseArray<View> mViews = new SparseArray<>();//用来存储控件
private View mConvertView;//布局
public BaseViewHolder(@NonNull View itemView) {
super(itemView);
mConvertView = itemView;
}
public static BaseViewHolder getInstance(View itemView) {
return new BaseViewHolder(itemView);
}
/**
* 通过viewid获取控件
*/
public View getView(@IdRes int viewId) {
View view = mViews.get(viewId);
if (view == null) {
view = mConvertView.findViewById(viewId);
mViews.put(viewId, view);
}
return view;
}
public BaseViewHolder setText(&#