使用android studio总会踩到莫名其妙的坑,哈,踩了坑好像心情也没很坏,浪里个浪,好了不多说废话,直接展示坑...
是这样的,笔者项目中用到个开源代,用来简化写RecyclerView和Listview的适配器,这里用到的是使用在RecyclerView中的简便的适配器:CommonAdapter(图一),继承自RecyclerView.Adapter<ViewHolder>,这个适配器用起来很方便呢(然而这不是重点),这个类是一个抽象类,里面只有一个抽象方法(图二):convert,按理说我使用这个类的时候,只要new一个,然后实现其中的convert就可以了,然而ide提示我还需要实现另一个方法:public void onBindViewHolder(RecyclerView.ViewHolder holder, int position)(图三),然后这个方法在CommonAdapter中已经重写过了啊,按理说不应该再在实现类中再写了啊,为毛这样,记得之前都是不报错的啊,而且现在就算它在报错,程序还是正常跑的(汗😓)。
为此,我怀疑我的知识有问题,于是在ide中建立三个java文件,模拟这一情况:
public abstract classAA {
public abstract voidAAF();
}
public abstract classBB extends AA{
@Override
public voidAAF() {
}
public abstract voidBBF();
}
public classCC {
public voidcc(){
BB bb =newBB() {
@Override
public voidBBF() {
}
};
}
}
可以看出来,CC中的实现类并没有报错,为毛啊(😓)。
于是,根据上述,猜测:ide(android studio)编译有问题吧,哈哈哈,😂😂😂😂😂