0

タッチで音声認識を開始しようとしていますが、問題は、ユーザーが画面に触れたときに OnTouchListener が呼び出されないことです

関数にブレークポイントを入れようとしましたが、まったく機能しません

私のラップトップではLogcatが機能していないため、ログを使用できないため、トーストを使用して関数が呼び出されたかどうかを確認します。

コードは以下の通りです。なぜこの関数がタッチで呼び出されないのか、誰でも助けてもらえますか??

更新しました:

OnCreate で setOnTouchListener を呼び出していますが、view を使用した後、起動時にアプリケーションがクラッシュします。

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() {
4

2 に答える 2

0

あなたのonCreateでこれを試してください:

getView().setOnTouchListener(myTouchListener);
于 2013-04-10T19:19:49.190 に答える
0

ここでリスナーを作成しただけなので、リスナーをどのビューにも割り当てていないと思います。を使用findViewById()して、このコードを実行するビューのインスタンスを取得し、次を呼び出します。

yourView.setOnTouchListener(TouchListener);
于 2013-04-10T19:18:25.250 に答える