我尝试为所有自定义视图创建基类,其中还包括演示者和绑定。但我无法实现泛型继承。请指出我错在哪里
public abstract class BasePresenterView<T extends View> extends BaseView<T>{
public BasePresenterView(Context context){
this(context, null);
}
public BasePresenterView(Context context, AttributeSet attrs){
super(context, attrs);
init(context);
}
private void init(Context context) {
injectViews(createView(context));
}
private View createView(Context context) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = null;
if (inflater != null) {
view = inflater.inflate(getLayout(), null);
}
return view;
}
private void injectViews(View view) {
ButterKnife.bind(this, view);
}
public abstract Subscription bind();
protected abstract int getLayout();}
和BaseView类
public abstract class BaseView<T extends View>{}
问题是我无法调用超级方法。
以下是我想要使用它的方法:
public class ToolBarLiker extends BasePresenterView<Toolbar>{
public ToolBarLiker(Context context, AttributeSet attrs){
super(context, attrs);
}
@Override
public Subscription bind(){
return Subscriptions.from();
}
@Override
protected int getLayout(){
return R.layout.toolbar_liker_tab;
}
}
因此隐藏和查找视图的实现是隐藏的 感谢
答案 0 :(得分:0)
替换
public abstract class BaseView<T extends View>{}
与
public abstract class BaseView<T extends View> extends View {
public BaseView(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
希望它有所帮助。
祝你好运。