我为它写了一个解决方案,它工作得很完美,但我认为这不是最好的解决方案......
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(); 但它根本不起作用......
我正在考虑为回调添加一个新的监听器,但这不是一个好的解决方案......