2012-03-10 4 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を使用する必要があります。しかし、すべてのデバイスがマルチタッチをサポートするわけではありません。

非マルチタッチの場合、より複雑な処理が必要です。ボタンを選択することができます。結合は明示的に行う必要があります。

関連する問題