未调用OnTouchListener

时间:2013-04-10 19:15:23

标签: android ontouchlistener

我正尝试在触摸时启动语音识别,但问题是当用户触摸屏幕时未调用OnTouchListener

我试图将断点置于功能中,但它根本没有功能

在我的笔记本电脑上,Logcat无法工作,所以我无法使用日志,因此使用toast来查看是否调用了该函数。

代码如下。任何人都可以帮助为什么这个功能没有被触摸调用?

更新:

我在OnCreate中调用setOnTouchListener,现在使用视图后,我的应用程序在启动时崩溃。

View view = findViewById(R.layout.voice_recog);
    view.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            Toast toast = Toast.makeText(getApplicationContext(),"Touch recognised",Toast.LENGTH_LONG);
            toast.show();
            startVoiceRecognitionActivity();

            return false;
        }
    });

我发现问题是关于分配视图...应用程序崩溃是因为源代码未找到错误...在线

    View view = findViewById(R.layout.voice_recog);
    //crashes on below line ....with Source not found error
    view.setOnTouchListener(new View.OnTouchListener() {

2 个答案:

答案 0 :(得分:0)

我猜你没有将监听器分配给任何View,因为你只是在这里创建了监听器。使用findViewById()获取要在其上运行此代码的View的实例,然后调用:

yourView.setOnTouchListener(TouchListener);

答案 1 :(得分:0)

在你的onCreate中试试这个:

getView().setOnTouchListener(myTouchListener);