我有两个RecyclerView适配器,它们的代码基本相同。两者之间唯一的不同是每个适配器的ViewHolder中的onClick实现。
要干燥我的代码,我想创建一个抽象的基本适配器,然后执行继承。因此,基本适配器的框架为:
public abstract class BaseRvAdapter extends
RecyclerView.Adapter<BaseRvAdapter.ViewHolder> {
public static class ViewHolder extends RecyclerView.ViewHolder {
}
}
以及要从上述BaseRvAdapter继承的子类之一的框架:
public class ChildRvAdapter extends BaseRvAdapter {
public static class ViewHolder extends BaseRvAdapter.ViewHolder
implements View.OnClickListener {
@Override
public void onClick(View view) {
}
}
}
到目前为止,它正在运行。这意味着UI正在按预期显示。问题是当我单击适配器项时什么也没有发生。我很快注意到BaseRvAdapter在其自己的类(BaseRvAdapter extends RecyclerView.Adapter<BaseRvAdapter.ViewHolder>
)中与ViewHolder绑定,但是ChildRvAdapter绝不与自己的ViewHolder挂钩。
我该如何解决?