RecyclerView原生适配器的多布局使用
RecyclerView可替代ListView,RecyclerView有常用的三种布局方式:线性布局,网格布局以及瀑布流,此外还有一些扩展的LayoutManager,包括有自己可以写LayoutManager
RecylerView去设置多布局也会比ListView简单许多,只需要新添几个ViewHolder以及一个getItemViewType(int position)的方法,在这个方法里面去进行一个判断随后在创建ViewHolder的方法和绑定方法同样去进行一个判断,在绑定里面用getItemViewType(int position)的返回值去进行判断(应该是)对ViewHolder去进行一个强转随后正常进行赋值,添加点击事件即可。
package com.example.homework.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.example.homework.R;
import com.example.homework.utils.User;
import java.util.List;
public class MyRecycleViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context context;
private List<User> list;
private LayoutInflater inflater;
private onItemClick onItemClick;
public void setOnItemClick(MyRecycleViewAdapter.onItemClick onItemClick) {
this.onItemClick = onItemClick;
}
public interface onItemClick{
void onclick(int i);
}
public MyRecycleViewAdapter(Context context, List<User> list) {
this.context = context;
this.list = list;
inflater=LayoutInflater.from(context);
}
@Override
public int getItemViewType(int position) {
if(list.get(position).getNumber()==null){
return 0;
}else{
return