下课睡觉
2017-07-19 04:45关于java abstract 的问题
我自己定义了一个类继承了RecyclerView.Adapter
//这个是我自定义的类,用来继承RecyclerView.Adapter
public abstract class TableAdapter<VH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter {
}
//这个是我继承的类
public abstract static class Adapter<VH extends ViewHolder> {
//这个类主要就这两个abstract方法
public abstract VH onCreateViewHolder(ViewGroup parent, int viewType);
public abstract void onBindViewHolder(VH holder, int position);
然后我用一个类来继承我自定义的这个Adapter的话:
class MyAdapter extends TableAdapter<MyAdapter.ViewHolder> {
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return null;
}
@Override
public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 0;
}
class ViewHolder extends RecyclerView.ViewHolder {
TextView name;
TextView kill;
TextView dead;
public ViewHolder(View itemView) {
super(itemView);
name = (TextView) f(R.id.name);
kill = (TextView) f(R.id.kill);
dead = (TextView) f(R.id.dead);
}
private View f(int id) {
return findViewById(id);
}
}
}
就会报错:
但是如果我直接继承RecyclerView.Adapter,就没问题:
class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return null;
}
@Override
public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 0;
}
class ViewHolder extends RecyclerView.ViewHolder {
TextView name;
TextView kill;
TextView dead;
public ViewHolder(View itemView) {
super(itemView);
name = (TextView) f(R.id.name);
kill = (TextView) f(R.id.kill);
dead = (TextView) f(R.id.dead);
}
private View f(int id) {
return findViewById(id);
}
}
}
请问这哪里有问题吗?
- 点赞
- 回答
- 收藏
- 复制链接分享
3条回答
为你推荐
- 关于 java jdbc sql 语句问题
- sql
- java
- mysql
- 5个回答
- java抽象类继承,变量赋值问题 (小白求助ing,蟹蟹)
- eclipse
- 1个回答
- Java编程思想21章的同步代码块问题
- java
- 编程思想
- 3个回答
- Java在接口实例化类对象后可以调用这个类自身的成员方法吗?
- java
- 2个回答
- java中抽象类的子类可以定义为抽象类吗
- java
- class
- 4个回答
换一换