2017-02-24 4 views
-1

OnTouchListenerをテキストビューに設定すると、ユーザーがテキストビューを押したときに一度しか機能しません。また、再度押すと何も起こりません。あなたがonTouchでの作業を実行したらOnTouchListenerは、一度しか動作しないようにする方法はありますか?

+0

をあなたはそれを見るのタッチイベントを有効/無効にすることができます。.. –

+0

はあなたを持っています何か試した?ここにいくつかのコードを提供する必要があります。 – Nicolas

答えて

1

、この

yourView.setOnTouchListener(null); 

ビューのようなものがこれ以上応答がリスナーに触れることになるん。

0

Boolean stuff = true; 

とあなたのonClickListenerあなたはそれのために

public void onClick(){ 
    if(stuff){ 
     stuff = !stuff; 
     //do things 
    } 
} 

をチェックして。これは、一度だけのif文で呼び出されるメソッドを実行しますを作成します。

0

あなたは単にnullにリスナーを設定することができます。

someView.setOnTouchListener(new OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 

       someView.setOnTouchListener(null); 

       return false; 
      } 
     }); 

か:

someView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onSingleClick(View v) { 
       someView.setOnClickListener(null); 
      } 
     }); 
0
textView.setOnTouchListener(new OnTouchListener { 

    int touchedCount = 0 

    boolean onTouch (View v, MotionEvent event) { 
     if (touchedCount < 1) { 
      // do whatever you want to do once here 
     } 
    } 
}); 
関連する問題