私はそれに対する解決策を書きました、それは完璧に機能していますが、それは最善の解決策ではないと思います...
private volatile boolean sweepEvent;
@Override
public boolean onTouchEvent(MotionEvent event) {
if (MotionEvent.ACTION_UP == event.getAction() && !sweepEvent) {
sweepEvent = false;
((View) this.getParent()).performClick();
return false;
} else if (MotionEvent.ACTION_MOVE == event.getAction()) {
sweepEvent = true;
} else {
sweepEvent = false;
}
return super.onTouchEvent(event);
}
ご覧のとおり、ユーザーがシークバーをタップしても進行状況を移動していないときに、親ビュー (LinearLayout) を呼び出す必要もあります。行: ((View) this.getParent()).performClick(); しかし、まったく機能していません...
コールバック用の新しいリスナーを追加することを考えていますが、それは良い解決策ではありません...