2012-05-07 13 views
6

W jakiś sposób uzyskuję nieoczekiwane wyniki, próbując wdrożyć aplikację multitouch w mojej aplikacji. Nigdy nie otrzymuję danych dla więcej niż jednego wskaźnika. Funkcja Multitouch na moim telefonie z pewnością działa, ponieważ mogę skracać i powiększać przeglądarkę oraz wykrywać gesty szczypania za pomocą GestureDetector, ale poniższe przykłady wydrukują action=0 pointers=1 niezależnie od tego, ile palców dotknę ekranu.MotionEvent.getPointerCount() jest zawsze 1

Czy jest coś w konfiguracji/AndroidManifest lub aktywność tworzenia że muszę

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

układ:

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

Odpowiedz

19

Problemem było to, że wracałem false w onTouch zatem nowe zdarzenia dotykowe mają nie zostały wygenerowane.

+0

Dziękuję, dziękuję, dziękuję! Chciałbym, żeby to wyjaśniono gdzieś w dokumentacji. – user1676075

Powiązane problemy