2016-01-21 53 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

相关问题