**
RecyclerView是一个展示大量数据的控件,它相比较与ListView、GridView更加灵活,功能也更加强大,因为RecyclerView都能实现它们的功能
**
使用步骤:
- 添加依赖:
implementation 'com.android.support:recyclerview-v7:27.0.0+'
- 在xml文件使用RecyclerView控件
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recycleview">
</android.support.v7.widget.RecyclerView>
- 绑定控件等操作
recyclerView = findViewById(R.id.recycleview);
//实例化适配器,这里传入了context和一个list集合
RecycleView_Adapter adapter = new RecycleView_Adapter(this,list);
//设置适配器
recyclerView.setAdapter(adapter);
//这是想要实现的布局样式,这里写的是垂直布局
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false);
//设置布局管理器
recyclerView.setLayoutManager(linearLayoutManager);
//设置分割线
recyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));
- 最后,也是最重要的适配器代码编写了
public class RecycleView_Adapter extends RecyclerView.Adapter {
private Context context;
private List<String> list;
public Setting_RecycleView_Adapter(Context context, List<String> list) {
this.context = context;
this.list = list;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
//这里是每个item显示的view视图
View view = LayoutInflater.from(context).inflate(R.layout.setting_recycle_item,parent,false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
//适配渲染都view中,在这里对item的控件进行操作
ViewHolder viewHolder = (ViewHolder) holder;
viewHolder.textview.setText(list.get(position));
}
@Override
public int getItemCount() {
//返回的item数量
return list.size();
}
//ViewHolder,在这里绑定控件
static class ViewHolder extends RecyclerView.ViewHolder{
private TextView textview;
public ViewHolder(View itemView) {
super(itemView);
textview = itemView.findViewById(R.id.textview);
}
}
}