java - 要么被声明为抽象,要么在中实现抽象方法 onBindViewHolder(VH,int)
问题描述
public class SubjectAdapter extends RecyclerView.Adapter<SubjectHolder> {
private ArrayList<Subjects> subjectsArrayList=new ArrayList<Subjects>();
private Context mContext;
public SubjectAdapter(Context context) {
mContext=context;
populateList();
this.subjectsArrayList = subjectsArrayList;
}
public void populateList(){
//Populates subjectArrayList
}
@Override
public void onBindViewHolder(@NonNull SubjectHolder holder, int position, @NonNull List payloads) {
super.onBindViewHolder(holder, position, payloads);
Subjects subject=subjectsArrayList.get(position);
holder.setSubjectName(subject.getSubjectCode());
}
@NonNull
@Override
public SubjectHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater=LayoutInflater.from(parent.getContext());
View cardView=layoutInflater.inflate(R.layout.activity_card,parent,false);
SubjectHolder subjectHolder=new SubjectHolder(cardView);
return subjectHolder;
}
@Override
public int getItemCount() {
return subjectsArrayList.size();
}
}
我阅读了类似问题的答案,但似乎没有成功。SubjectHolder 是一个类,它包含 TextView 和 GridView。我实际上是想获得这样的观点,
解决方案
有两种onBindViewHolder()
方法。必须实现两个参数之一,因为它被声明abstract
为RecyclerView.Adapter
. 您实现了三参数onBindViewHolder()
方法,这很好,但您仍然需要二参数方法。
推荐阅读
- javascript - 单击图像并被重定向到新页面,单击的图像动态添加到新页面?
- singularity-container - 使用 Singularity 版本 3 构建与 v2 兼容的 Singularity 映像
- python - 如何在 matplotlib 中用日期字符串交换 x 刻度
- c# - 我是否需要使用默认的 TaskScheduler 来同步 Tasks 之间的资源访问?
- time - 谷歌表格计数如果时间在时间范围内
- html - 如何自动设置元素的高度(如 div)取决于其中的元素;css; html
- python - Moviepy concatenate_videoclips(method='compose') AttributeError: 'NoneType' 对象没有属性 'stdout'
- node.js - 在有或没有cheerio的情况下合并nodejs中的两个json对象的有效方法是什么?
- go - 导航并添加到 TabItem 中的内容
- arrays - 使用数组作为值创建对象时出现json格式错误