2012-05-07 6 views
6

Ich bekomme irgendwie unerwartete Ergebnisse beim Versuch, Multitouch in meiner App zu implementieren. Ich bekomme nie Daten für mehr als einen Zeiger. Multitouch auf meinem Handy funktioniert sicherlich, weil ich Pinch-Zoom in Browser und Pinch Geste mit GestureDetector erkennen kann, aber das folgende Beispiel druckt action=0 pointers=1 unabhängig davon, wie viele Finger ich den Bildschirm zu berühren.MotionEvent.getPointerCount() ist immer 1

Gibt es etwas in der Konfiguration/AndroidManifest oder Aktivitäts Schöpfung, die ich brauche

@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; 
     } 
    }); 
} 

Layout:

<?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> 

Antwort

19

Das Problem war, dass ich false in onTouch daher neue Touch-Ereignisse Rückkehr haben nicht generiert.

+0

Danke, danke, danke! Wünschte, das wurde irgendwo in der Dokumentation erklärt. – user1676075