2012-03-10 51 views
0

我有一個活動充滿了屏幕上的按鈕,每個人都有字符文字 類似於:[A] [B] [C]等我需要編碼,當用戶觸摸並滑動他/她的手指在屏幕上,它應該聚合每個觸摸按鈕的文本,樣本結果應該是:A + B + C = ABC。我寫了一些代碼,但它不能按預期工作。在我的代碼中,我保留了按鈕數組按鈕來識別當時哪個按鈕被觸摸,但此代碼僅用於第一次觸摸,它是Action_Down,它實現了我觸摸的第一個按鈕,當我滑動我的我的手指無法獲得其他按鈕文本。 ,那麼你的建議是什麼?請幫助 。 。如何通過滑動按鈕來聚合按鈕的文本?

public boolean onTouch(View v, MotionEvent event) { 
     switch(event.getAction()){ 
     case MotionEvent.ACTION_DOWN: 

      for(int i=0;i<buttons.size();i++){ 
       if(buttons.elementAt(i).getId()==v.getId()){ 
        text+=buttons.elementAt(i).getText(); 
        break; 
       } 
     } 
     break; 
     case MotionEvent.ACTION_MOVE: 

      for(int i=0;i<buttons.size();i++){ 
       if(buttons.elementAt(i).getId()==v.getId()){ 
        text+=buttons.elementAt(i).getText(); 
        break; 
       } 
      } 

     case MotionEvent.ACTION_UP: 
      Toast.makeText(context,text,Toast.LENGTH_SHORT).show(); 
      text=""; 
      break; 
     } 
     return false; 
    } 

回答

0

我猜你覺得多點觸摸,但你的代碼不是。

對於多點觸控,您需要使用ACTION_POINTER_UP/DOWN。但並非所有設備都支持多點觸控。

對於非多點觸控,您需要更復雜的處理。按鈕可能被選中。連接必須明確完成。