android - RecyclerView中被覆盖的方法是怎么调用的?
问题描述
请找到如下代码片段
public class ExampleAdapter extends RecyclerView.Adapter<ExampleAdapter.ExampleViewHolder> {
@Override
public ExampleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.example_item, parent, false);
ExampleViewHolder evh = new ExampleViewHolder(v);
return evh;
}
}
我正在关注一个在线教程RecyclerView + CardView,其中扩展的 Adapter 类RecyclerView.Adapter
覆盖了一些方法,例如onCreateViewHolder
. 但我没有找到这些方法被调用的地方。
我检查了 Android 文档,上面写着“布局管理器调用适配器的onCreateViewHolder()
方法。该方法需要构造一个RecyclerView.ViewHolder
并设置它用来显示其内容的视图。”
但是LinearLayoutManager
没有显式调用该onCreateViewHolder
方法。
我想知道如何从Viewholder
类中调用重写的方法。
解决方案
ViewHolder内部类的createViewHolder()调用onCreateViewHolder()方法创建一个新的RecyclerView.ViewHolder。
推荐阅读
- android - How I can specify the priority on FCM message?
- python - PIP 升级包无法正常工作
- javascript - 如何在隐藏系列的同时保持 highcharts 传奇“开启”
- git - 如何在 Git 中将文件重命名和文件更改拆分为两个提交?
- html - 使用 css 垂直格式化输入和标签标签
- java - 使用 linearId 检索信息(对 Corda 节点的简单查询)
- java - OpenCV 日志和 Android
- mysql - MySQL SUM 总激活分钟数
- node.js - Feathers - 通过 Socket.io 发出自定义事件
- c# - 存储带有参数的动作列表,然后执行它们