我有一个类BaseViewHolder,它是基类和它的子类MyViewHolder。
我有一个不同的抽象类,BaseAdapter它需要子类来实现返回的子类的方法BaseViewHolder。我试过了:
protected abstract <T extends BaseViewHolder > Class<T> getViewHolderClass();
然后,创建一个class MyAdapter,它是它的子类,BaseAdapter并实现该getViewHolderClass方法:
@Override
protected <T extends BaseViewHolder > Class<T> getViewHolderClass() {
return MyViewHolder.class;
}
但是我得到了:
Incompatible types.
Required: Class<T>
Found: Class<path.to.my.package.MyViewHolder>
如何使getViewHolderClass返回一类是或源自 BaseViewHolder(避免不必要的铸造更一般的类别或者?,当然)?我在StackOverflow上找到的最接近的方法是:如何使方法返回类型通用?但这涉及返回类实例,而我正试图返回一个类本身。
湖上湖
杨魅力
开满天机
相关分类