摘要
实际应用中,应用程序需要对数据进行展示,并非一个个的展示,而是对所有数据进行一个排列用列表的形式展示出来。这样方便统一查看,并可以对其中单个信息进行查看或编辑修改。
简单列表展示工具类 RecyclerView
RecyclerView 是在外部扩展包内的一个列表循环类,该类对应这视图中的RecyclerView,视图代码如下
Recycler视图
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="MissingConstraints"
android:id="@+id/rvMain"
></androidx.recyclerview.widget.RecyclerView>
实现当前类代码如下,创建当前实例
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取当前视图控件 该控件可以进行列表展示
RecyclerView recyclerView = findViewById(R.id.rvMain);
// 设置控件视图管理器
recyclerView.setLayoutManager(new LinearLayoutManager(this));
// 实现 托管承载类
recyclerView.setAdapter(new MainAdapter());
}
MainAdapter Adapter在实现每一个循环视图时需要给定一个视图管理器对象 Holder
// 一个需要实现 MainHolder 的 循环列表 下一段代码中实现
private class MainAdapter extends RecyclerView.Adapter<MainHolder>{
@NonNull
@Override
public MainHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
// Adapter 需要绑定 一行数据时 创建一个视图对象
return new MainHolder(new TextView(MainActivity.this));
}
@Override
public void onBindViewHolder(@NonNull MainHolder holder, int position) {
// 当前列绑定
TextView textView = (TextView) holder.itemView;
textView.setText("Current "+ position);
}
@Override
public int getItemCount() {
// 视图中有多少个 列表个数 10 即为10个
return 10;
}
}
MainHolder
private class MainHolder extends RecyclerView.ViewHolder{
public MainHolder(@NonNull View itemView) {
// 为当前控制器设置当前视图
super(itemView);
}
}
代码结果
总结
单纯对多条数据进行绑定的安卓类,RecyclerView 只需要在页面视图中放置一个RecyclerView的控件并为其设置一个Adapter完善代码和细节可以实现