Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.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 OnGenericMotionListener不';我好像不工作_Java_Android - Fatal编程技术网

Java OnGenericMotionListener不';我好像不工作

Java OnGenericMotionListener不';我好像不工作,java,android,Java,Android,这真的很奇怪,所有其他的听众都像onClick这样工作。。但是这个监听器似乎不起作用,下面是我的代码: public class HeloActivity extends Activity implements OnGenericMotionListener{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState)

这真的很奇怪,所有其他的听众都像onClick这样工作。。但是这个监听器似乎不起作用,下面是我的代码:

public class HeloActivity extends Activity implements OnGenericMotionListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        View root = findViewById(R.id.root  );
        root.setOnGenericMotionListener(this);
    }

    @Override
    public boolean onGenericMotion(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        Log.d( "special",v.toString() ); 
        return false;
    }
}

为什么这不起作用?

您确实意识到您都实现了侦听器,然后将其附加到视图中?至少它是多余的


谢谢。

这是一个老问题,但我目前正在考虑同样的问题,因此我将添加此问题以供将来参考

这可能是因为Activity实现了一个接收运动事件的
onGenerericMotionEvent
方法,但是您也在同一个类中从
View
-
onGenericMotion
实现该方法


我没有试过你是如何做到这一点的,但我知道它是通过使用实现
OnGenericMotionListener
的另一个类和在根视图上使用
setOnGenericMotionListener
来实现的。

你在视图上调用了“运动”吗?监听器是否在视图中注册了?在这种情况下是必需的。活动实现了onGenericMotionEvent(MotionEvent事件),您不需要为其添加侦听器,只需重写即可接收事件。但是
View
实现了
onGenericMotion(View v,MotionEvent事件)
并且您确实需要在视图上设置一个侦听器。