2015-03-04 2 views
1

Это будет удаленное приложение Touchpad. Я реализовал 3 ontouchlisteners, и они - тачпад, левый и правый, но эти слушатели не работают одновременно. Например, когда я пытаюсь сделать удаленный сенсорный левый клик или щелкните правой кнопкой мыши, не работает. Или когда я нажимаю налево, остальные не работают. Вот коды, на которые я не мог найти ответ, как решить эту проблему.Другие устройства Ontouchlistener не работают одновременно

fl = (FrameLayout) findViewById(R.id.TouchPad); 
     fl.setOnTouchListener(new View.OnTouchListener() { 
      public boolean onTouch(View v, MotionEvent ev) { 
       return Mouse(ev); 
      } 
     }); 

     fl = (FrameLayout) this.findViewById(R.id.LeftButton); 
     fl.setOnTouchListener(new View.OnTouchListener() { 
      public boolean onTouch(View v, MotionEvent ev) { 
       return LeftClick(ev); 
      } 
     }); 

     fl = (FrameLayout) this.findViewById(R.id.RightButton); 
     fl.setOnTouchListener(new View.OnTouchListener() { 
      public boolean onTouch(View v, MotionEvent ev) { 
       return RightClick(ev); 
      } 
     }); 

ответ

0

Использовать отдельный объект FrameLayout для каждого FrameLayout.

fl = (FrameLayout) findViewById(R.id.TouchPad); 
     fl.setOnTouchListener(new View.OnTouchListener() { 
      public boolean onTouch(View v, MotionEvent ev) { 
       return Mouse(ev); 
      } 
     }); 

     f2 = (FrameLayout) this.findViewById(R.id.LeftButton); 
     f2.setOnTouchListener(new View.OnTouchListener() { 
      public boolean onTouch(View v, MotionEvent ev) { 
       return LeftClick(ev); 
      } 
     }); 

     f3 = (FrameLayout) this.findViewById(R.id.RightButton); 
     f3.setOnTouchListener(new View.OnTouchListener() { 
      public boolean onTouch(View v, MotionEvent ev) { 
       return RightClick(ev); 
      } 
     }); 
+0

Я уже сделал это, и он не работает. Я думаю, это о мультитач. – dodo

+0

Являются ли ваши FrameLayouts одним над другим (ось Z)? – Hemanth

+0

Нет, это не так. – dodo

Смежные вопросы