我为它写了一个解决方案,它运行完美,但我认为这不是最好的解决方案......
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)。line : ((View) this.getParent()).performClick(); 但它根本不起作用......
我正在考虑为回调添加一个新的侦听器,但这不是一个好的解决方案......