2013-04-10 2 views
0

Я пытаюсь начать распознавание речи на ощупь, но проблема OnTouchListener не вызывается, когда пользователь прикасается к экрануOnTouchListener не называется

Я попытался поставить точку останова в функции, но это не входит в функции на всех

На моем ноутбуке Logcat не работает, поэтому я не могу использовать журнал и, таким образом, используя тост, чтобы узнать, вызвана ли функция.

Код выглядит следующим образом. кто-нибудь может помочь, почему эта функция не вызвана прикосновением?

Обновлено:

Я зову setOnTouchListener в OnCreate и теперь после использования просмотра моего приложения происходит сбой при запуске.

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() { 
+0

Где вы звоните 'setOnTouchListener'? – oakes

+0

Вы уверены, что добавите слушателя к содержащему просмотр? – Tom

+0

@oakleaf: я вызываю его в OnCreate ... Я обновил код, и View назначен setOnTouchListener – Nirav

ответ

0

Я предполагаю, что у вас нет назначил слушателя любому виду, видя, как только вы создаете слушателя здесь. Используйте findViewById(), чтобы получить экземпляр в зависимости от того зрения вы хотите, чтобы запустить этот код на, а затем вызвать:

yourView.setOnTouchListener(TouchListener); 
+0

thanx, но приложение сбой только при загрузке View view = findViewById (R.layout.voice_recog); view.setOnTouchListener (новый View.OnTouchListener() { \t \t \t \t \t \t @Override \t \t \t общественного логический onTouch (View v, MotionEvent событие) { \t \t \t \t // TODO Auto-генерироваться метод заглушкой \t \t \t \t тосты тосты = Toast.makeText (getApplicationContext(), "сенсорный распознан", Toast.LENGTH_LONG); \t \t \t \t toast.show(); \t \t \t \t startVoiceRecognitionActivity(); \t \t \t \t return false; \t \t \t} \t \t}); – Nirav

0

Попробуйте это в OnCreate:

getView().setOnTouchListener(myTouchListener); 
+0

Nope @TronicZoneB не работает .... OnCreate не может найти функцию getView ... Я тоже это пробовал, но не помог – Nirav

+0

О, хорошо, попробуйте onStart.На самом деле, когда я называю свое, но я не был уверен, что это соглашение или нет, это то, что сработало для моей ситуации, поэтому я сначала сказал onCreate, но вы можете попробовать свой onStart после создания нового 'onTouchListener' – TronicZomB

+0

I не может этого сделать ... придется многое изменить. – Nirav