在Android开发中,我们总会时不时遇到列表多样式布局,比如商城的不同item 布局样式不一样,或者像打开相册,点击列表最后的添加按钮图片展示到列表上。
现在来实现adapter多布局样式,写个初级简单的效果,理解怎么写后,后面各种复杂的多布局也能在理解后,自行编写出来
先上效果图:
demo展示.gif
本demo 是基于AndroidX开发,activity的布局就是一个简单线性布局包含RecyclerView,就不贴上图了,直接来看adapter 如何编写,这里我直接上整个adapter的代码,再分开讲解每个的作用
public class SelectAdapter extends RecyclerView.Adapter {
private Context context;
//布局标识集合
private static final int TYPE_ONE = 0;//普通头像
private static final int TYPE_TWO = 1;//添加按钮
private List personList;
private OnItemAdapterClickListener onItemAdapterClickListener;
public SelectAdapter(Context context, OnItemAdapterClickListener onItemAdapterClickListener) {
this.context = context;
this.onItemAdapterClickListener = onItemAdapterClickListener;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
if (viewType == TYPE_ONE) {
View mView1 = LayoutInflater.from(context).inflate(R.layout.recycle_item_head, null);