我尝试在触摸屏上启动语音识别,但问题是当用户触摸屏幕时不会调用OnTouchListener
我试图将断点放在函数中,但它根本不在函数中。
在我的笔记本电脑上,Logcat不工作,所以我不能使用log,因此使用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...Application的问题,因为没有找到error...on行的源代码
View view = findViewById(R.layout.voice_recog);
//crashes on below line ....with Source not found error
view.setOnTouchListener(new View.OnTouchListener() {发布于 2013-04-11 03:18:25
我猜您还没有将listener分配给任何View,因为您在这里刚刚创建了listener。使用findViewById()获取要在其上运行此代码的任何视图的实例,然后调用:
yourView.setOnTouchListener(TouchListener);发布于 2013-04-11 03:19:49
在你的onCreate中试试这个:
getView().setOnTouchListener(myTouchListener);https://stackoverflow.com/questions/15934476
复制相似问题