AbsSeekBarというクラスからいくつかのメソッドをオーバーライドしようとしています。しかし、Android Studioはsuper.methodname()の下にタイトルに記載されているメッセージと@Overrideの下にメソッドが存在するにもかかわらず、 'メソッドはスーパークラスのメソッドをオーバーライドしません'と下線を引いています。コード例:Android: "スーパークラスメソッドをオーバーライドするときにメソッド 'x()'を解決できません。
サブクラス:スーパークラスの
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);
}
}
...
}
コード:
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();
}
...
}
問題は解決しましたか? –
@SrikarReddy残念ながら。あなたは同じ問題を抱えていますか? –
はい、onProgressRefreshで同じ問題があります。なぜそれが起こっているのか、それを解決する方法がわからない。 –