首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未调用OnTouchListener

未调用OnTouchListener
EN

Stack Overflow用户
提问于 2013-04-11 03:15:23
回答 2查看 1.6K关注 0票数 0

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

我试图将断点放在函数中,但它根本不在函数中。

在我的笔记本电脑上,Logcat不工作,所以我不能使用log,因此使用toast来查看函数是否被调用。

代码如下所示。有没有人能解释一下为什么这个函数不是在触摸时调用的??

更新:

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

代码语言:javascript
复制
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...Application的问题,因为没有找到error...on行的源代码

代码语言:javascript
复制
    View view = findViewById(R.layout.voice_recog);
    //crashes on below line ....with Source not found error
    view.setOnTouchListener(new View.OnTouchListener() {
EN

回答 2

Stack Overflow用户

发布于 2013-04-11 03:18:25

我猜您还没有将listener分配给任何View,因为您在这里刚刚创建了listener。使用findViewById()获取要在其上运行此代码的任何视图的实例,然后调用:

代码语言:javascript
复制
yourView.setOnTouchListener(TouchListener);
票数 0
EN

Stack Overflow用户

发布于 2013-04-11 03:19:49

在你的onCreate中试试这个:

代码语言:javascript
复制
getView().setOnTouchListener(myTouchListener);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15934476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档