Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在触控式监听器中执行工作,然后将其委托给上一个监听器_Java_Android_Events_Touch_Listener - Fatal编程技术网

Java 在触控式监听器中执行工作,然后将其委托给上一个监听器

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

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

比如:

 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的自定义视图