在触摸侦听器中执行工作,然后将其委派给上一个侦听器

时间:2014-07-25 14:24:19

标签: java android events touch listener

在ListView项目中,我想设置一个触摸监听器,一般来说我只想执行一些操作,然后再将触摸事件委托给上一个触摸监听器。

类似的东西:

 convertView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // do something else
                convertView.dispatchTouchEvent(event);

                return true;
            }
        });

不起作用,因为它会导致StackOverflow。我能在这做什么?

1 个答案:

答案 0 :(得分:1)

委托“其他人”处理触摸事件的方法是将其标记为未使用

通过让处理程序返回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
            }
        });

这将允许您添加处理的增量(“做你的员工”)并传递, 可能到其容器视图,以便进一步处理。

相关问题