Ich versuche, ein paar Methoden aus einer Klasse namens AbsSeekBar zu überschreiben. Android Studio unterstreicht jedoch super.methodname() mit der im Titel erwähnten Nachricht und @Override mit 'Methode überschreibt die Methode nicht von ihrer Oberklasse', obwohl die Methode genau dort ist. Code-Beispiel:Android: "Die Methode 'x()' kann nicht aufgelöst werden, wenn Superklassenmethoden überschrieben werden.
Unterklasse:
import android.widget.AbsSeekBar;
public class VerticalSeekBar extends AbsSeekBar {
// Constructors, work fine
...
@Override
void onProgressRefresh(float scale, boolean fromUser, int progress) {
super.onProgressRefresh(scale, fromUser, progress);
if (mOnSeekBarChangeListener != null) {
mOnSeekBarChangeListener.onProgressChanged(this, progress, fromUser);
}
}
...
}
Code der Oberklasse:
public abstract class AbsSeekBar extends ProgressBar {
// Some methods
...
@Override
void onProgressRefresh(float scale, boolean fromUser, int progress) {
super.onProgressRefresh(scale, fromUser, progress);
final Drawable thumb = mThumb;
if (thumb != null) {
setThumbPos(getWidth(), thumb, scale, Integer.MIN_VALUE);
// Since we draw translated, the drawable's bounds that it signals
// for invalidation won't be the actual bounds we want invalidated,
// so just invalidate this whole view.
invalidate();
}
...
}
Wurde das Problem behoben? –
@SrikarReddy Leider nicht. Hast du das gleiche Problem? –
Ja, das gleiche Problem mit onProgressRefresh. Nicht sicher, warum es passiert und wie man es löst. –