BaseAdapter和RecyclerView.Adapter<VideoAdapter.ViewHolder>的区别
时间: 2023-06-18 13:06:23 浏览: 137
BaseAdapter和RecyclerView.Adapter<VideoAdapter.ViewHolder>都是Android中用于在列表中显示数据的适配器。它们之间的主要区别在于:
1. 继承方式不同:BaseAdapter是直接继承自android.widget.BaseAdapter,而RecyclerView.Adapter<VideoAdapter.ViewHolder>是继承自RecyclerView.Adapter。
2. RecyclerView的特性:RecyclerView.Adapter<VideoAdapter.ViewHolder>是为RecyclerView设计的,因此它支持RecyclerView的各种特性,如ViewHolder的复用、动画效果等。
3. ViewHolder的实现:BaseAdapter中的getView()方法需要手动创建ViewHolder并绑定数据,而RecyclerView.Adapter<VideoAdapter.ViewHolder>中的onCreateViewHolder()方法和onBindViewHolder()方法会自动创建ViewHolder并绑定数据。
4. 数据集合的处理:BaseAdapter中的数据集合可以是任意类型的数据,而RecyclerView.Adapter<VideoAdapter.ViewHolder>中的数据集合必须是RecyclerView提供的List数据结构。
综上所述,如果你在使用RecyclerView来显示列表数据,那么建议使用RecyclerView.Adapter<VideoAdapter.ViewHolder>。如果你在使用ListView或GridView来显示列表数据,那么可以使用BaseAdapter。
阅读全文