2012-12-05 76 views
1

所以我有兩個按鈕,並希望同時按兩個按鈕。如果我按第一它記錄一個「C」(如鋼琴音符),其他日誌一D.多點觸控問題:當同時按下兩個按鈕時,它會檢測到我只用手指觸摸了一個按鈕,爲什麼?

到目前爲止:

@Override 
    public boolean onTouch(View v, MotionEvent event) { 

     int action = event.getActionMasked(); 

     switch (event.getAction() & MotionEvent.ACTION_MASK){ 

     case MotionEvent.ACTION_DOWN: 
      switch (v.getId()) { 
       case R.id.cnotebutton: 
        Log.i("C", "C1"); 
        return true; 
       case R.id.c2notebutton: 
         Log.i("D", "D1"); 
         return true; 
       default: 
       } 

       break; 
      case MotionEvent.ACTION_UP: 

       break; 
      case MotionEvent.ACTION_POINTER_DOWN: 

       break; 
      case MotionEvent.ACTION_POINTER_UP: 

       switch (v.getId()) { 
        case R.id.cnotebutton: 
         Log.i("C", "C2"); 
         return true; 
        case R.id.c2notebutton: 
          Log.i("D", "D2"); 
          return true; 
        default: 
        } 
       break; 
      case MotionEvent.ACTION_MOVE: 

       break; 
      default: 

     } 
     return true; 
    } 

我登錄C1和C2區分的情況下,但每時間我按下按鈕我只得到C1,C2或D1,D2,就好像我用我的兩個手指觸摸了相同的按鈕。我應該得到C1,D2或D1,C2,具體取決於哪個手指首先指向。有什麼建議麼? 無論如何,我還沒有找到一個鋼琴樣品項目,但如果這不起作用或我的方法是完全錯誤的,那會幫助我。有沒有?

在此先感謝!

回答

0

我認爲public boolean onInterceptTouchEvent (MotionEvent ev)是你在找什麼。看看this.

相關問題