
我在我的项目中使用DataBindings和RecyclerVIEw.
我有RecyclerVIEw的基础适配器.看起来像这样
public abstract class BaseAdapter<T extends VIEwDataBinding> extends RecyclerVIEw.Adapter<BaseAdapter.VIEwHolder> { public BaseAdapter() {} public class VIEwHolder extends RecyclerVIEw.VIEwHolder { public T binding; public VIEwHolder(VIEw vIEw) { super(vIEw); binding = DataBindingUtil.bind(vIEw); } } @OverrIDe public voID onBindVIEwHolder(VIEwHolder holder, int position) { ... code ... }}VIEwHolder扩展类只有绑定字段类型不同.
在扩展BaseAdapter类的实现之后:
public class BaseAdapterExtended extends BaseAdapter<BaseAdapterExtendedBinding> { public BaseAdapterExtended(ArrayList<Itemmodel> itemmodels) { super(); mData = itemmodels; } @OverrIDe public VIEwHolder onCreateVIEwHolder(VIEwGroup parent, int vIEwType) { LayoutInflater inflater = LayoutInflater.from(parent.getContext()); return new VIEwHolder(BaseAdapterExtendedBinding.inflate(inflater, parent, false).getRoot()); } @OverrIDe public voID onBindVIEwHolder(VIEwHolder holder, int position) { super.onBindVIEwHolder(holder, position); } @OverrIDe protected VIEw getItemRootVIEw(VIEwHolder holder) { return holder.binding.item; } @OverrIDe public int getItemCount() { return mData.size(); }}我有下一个编译错误:
error: BaseAdapterExtended is not abstract and does not overrIDe abstract method onBindVIEwHolder(BaseAdapter.VIEwHolder,int) in Adapter似乎BaseAdapterExtended没有这种方法,但他存在.
如果我改变
public voID onBindVIEwHolder(VIEwHolder holder, int position)至
public voID onBindVIEwHolder(BaseAdapter.VIEwHolder holder, int position)预测编译正常,但类型绑定将是VIEwDataBinding而不是BaseAdapterExtendedBinding.为什么会这样?有任何想法吗?
解决方法:
在我的情况下,我忘记了参数化我的超类.在创建类时,我还没有创建VIEwHolder,除了该方法的错误外,它非常宽松.即:
public class FooAdapter extends RecyclerVIEw.Adapter {不得不改为
public class FooAdapter extends RecyclerVIEw.Adapter<FooAdapter.FooVIEwHolder> {无论如何都需要这样做,但我得到的唯一编译器错误是onBindVIEwHolder.
总结以上是内存溢出为你收集整理的android – RecyclerView.Adapter没有看到overBided onBindViewHolder全部内容,希望文章能够帮你解决android – RecyclerView.Adapter没有看到overBided onBindViewHolder所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)