RecyclerView适配器继承:ViewHolder紧密耦合

时间:2019-01-25 04:48:15

标签: java android android-recyclerview

我有两个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挂钩。

我该如何解决?

0 个答案:

没有答案