2016-01-21 52 views
0

我在多次觸摸鍛鍊,我有這個問題: 如何計算屏幕上的手指? 這是我的代碼:如何計算屏幕上的手指?

public boolean onTouch(View v, MotionEvent event) { 
     int dita = 0; 
     switch(event.getActionMasked()){ 
     case MotionEvent.ACTION_DOWN: 
      Log.d("Touch", "down"); 
      dita = event.getPointerCount(); 
      ditaText.setText("Dita sullo schermo: " + String.valueOf(dita)); 
      break; 
     case MotionEvent.ACTION_POINTER_DOWN: 
      Log.d("Touch", "Point down"); 
      dita = event.getPointerCount(); 
      ditaText.setText("Dita sullo schermo: " + String.valueOf(dita)); 
      break; 
     case MotionEvent.ACTION_UP: 
      Log.d("Touch", " up"); 
      dita = 0; 
      ditaText.setText("Dita sullo schermo: " + String.valueOf(dita)); 
      break; 
     case MotionEvent.ACTION_POINTER_UP: 
      Log.d("Touch", "Point up"); 
      dita = event.getPointerCount(); 
      ditaText.setText("Dita sullo schermo: " + String.valueOf(dita)); 
      break; 
     } 
     return true; 
} 

當手指觸摸屏幕的變量包含在屏幕上手指的數量,但是當我舉起手指出現了問題。相反,當我舉起兩個手指時,變量減少一個。 怎麼可能? 你能幫我嗎? 感謝

+0

應該按預期工作。你可以嘗試用不同的手機測試相同的代碼。有些手機有這個問題。 – tasomaniac

+0

如果我添加一個私人變量增加和減少了getPointerCount? –

回答

0

這應該爲你工作

int pointerCount = event.getPointerCount(); 
+0

已經有用。這是我的問題:當我用手指觸摸屏幕(例如2)pointerCount是2,但是當我刪除一個手指pointerCount是2還沒有。所以當我刪除兩個手指pointerCount減1。爲什麼? –

+0

是嗎?你能幫我請 –

+0

嘗試返回錯誤,而不是真實的 – apmartin1991

相關問題