2012-05-07 13 views
6

In qualche modo ottengo risultati imprevisti mentre provo ad implementare il multitouch nella mia app. Non ricevo mai dati per più di un puntatore. Il multitouch sul mio telefono funziona sicuramente, perché posso zoomare nel browser e rilevare il gesto di pizzicamento con GestureDetector, ma il seguente esempio stampa action=0 pointers=1 indipendentemente dal numero di dita che uso per toccare lo schermo.MotionEvent.getPointerCount() è sempre 1

C'è qualcosa in configurazione AndroidManifest o attività di creazione/che ho bisogno di

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    findViewById(R.id.ll1).setOnTouchListener(new OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      Log.d("TAG","onTouch action="+event.getAction()+" pointers="+event.getPointerCount()); 
      return false; 
     } 
    }); 
} 

disposizione:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ll1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
</LinearLayout> 

risposta

19

Il problema era che stavo tornando false nel onTouch, quindi nuovi eventi di tocco hanno non è stato generato.

+0

Grazie, grazie, grazie! Vorrei che questo fosse spiegato da qualche parte nella documentazione. – user1676075