Я переопределяю onViewRecycled
в class MyAdapter extends RecyclerView.Adapter
.
@Override
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
...
super.onViewRecycled(holder);
}
Нужно ли вызывать super
при переопределении?
Мне также интересно, потому что я получаю (хорошо известную) ошибку при вызове super:
Unchecked call to 'onViewRecycled(VH)' as a member of raw type 'android.support.v7.widget.RecyclerView.Adapter'
Нет, потому что RecyclerView.Adapter
— это абстрактный класс и не имеет конкретной реализации. См. документы:
Однако не стоит предполагать, что метод абстрактного класса не реализован. В случае onViewRecycled RecyclerView.Adapter предоставляет пустую реализацию по умолчанию, поэтому расширяющим классам не нужно ее переопределять. Ничто не мешает владельцу абстрактного класса добавить реализацию (кроме желания сохранить обратную совместимость).
Прочитайте мой ответ еще раз. Я написал *это абстрактный класс И не имеет реализации по умолчанию", а не "у него нет реализации по умолчанию, потому что это абстрактный класс"
Спасибо, вопрос полностью решен.