Java 在触控式监听器中执行工作,然后将其委托给上一个监听器
在ListView项目中,我想设置一个触摸监听器,一般来说,我只想执行一些操作,然后再次将触摸事件委托给前一个触摸监听器 比如:Java 在触控式监听器中执行工作,然后将其委托给上一个监听器,java,android,events,touch,listener,Java,Android,Events,Touch,Listener,在ListView项目中,我想设置一个触摸监听器,一般来说,我只想执行一些操作,然后再次将触摸事件委托给前一个触摸监听器 比如: convertView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // do something else
convertView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// do something else
convertView.dispatchTouchEvent(event);
return true;
}
});
不起作用,因为它会导致
堆栈溢出
。我可以在这里做什么?委托“其他人”处理触摸事件的方法是将其标记为未使用
您可以让处理程序返回false:
convertView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// do your staff else
// do not call dispatchTouchEvent(event)
return false; <------------ inform Android event was not consumed
}
});
convertView.setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
//你的员工还有其他工作吗
//不调用dispatchTouchEvent(事件)
返回false;在getView中返回覆盖dispatchTouchEvent的自定义视图