RecyclerView的初始化通常要调用以下2个方法,不然不会显示
recycleView.setLayoutManager(manager);
recycleView.setAdapter(adapter);
一个是设定RecyclerView的布局,一个是绑定Adapter。
layout
setLayoutManager简单初始化可以如下:
LinearLayoutManager manager = new LinearLayoutManager(getApplication());
manager.setOrientation(LinearLayoutManager.VERTICAL);
adapter
adapter通常是我们继承RecyclerView.Adapter<RecyclerView.ViewHolder>重写Adapter,可以如下:
public class Adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
{
private ArrayList<DataBean> versions = new ArrayList<>();
public void setDatas(ArrayList<DataBean> data)
{
this.data= data;
notifyDataSetChanged();
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType)
{
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_data, parent, false);
return new ViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position)
{
ViewHolder viewHolder = (ViewHolder) holder;
if (data!= null && data.size() > 0)
{
viewHolder.name.setText(versions.get(position).getName());
viewHolder.name2.setText(versions.get(position).getName2());
}
}
@Override
public int getItemCount()
{
return data== null ? 0 : data.size();
}
private static class ViewHolder extends RecyclerView.ViewHolder
{
TextView name;
TextView name2;
public ViewHolder(@NonNull View itemView)
{
super(itemView);
name = itemView.findViewById(R.id.name);
name2 = itemView.findViewById(R.id.name2);
}
}
}