2011-09-12 11 views
0

私はsetontouchlistenerを使用しようとしています。私は例えばIMAGEBUTTON 5秒を保持している場合、私は警告を取得したいと思っ何...これは、私はそれを行うだろうかです:x秒間setontouchlistener

final ImageButton imageButton1 = (ImageButton) findViewById(R.id.imageButton1); 

    imageButton1.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      // do something 
      return false; 
     } 
    }); 

どのように私はx秒後にsetontouchlistenerでこのような何かを実装することができます?

作業溶液:

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

       if (event.getAction() == MotionEvent.ACTION_DOWN) { 
        mTouchDownTime = event.getEventTime(); 
        Log.v("CustomDebug", "Message: " + mTouchDownTime); 

       } 
       if (event.getAction() == MotionEvent.ACTION_UP) { 
        long elapsedTime = event.getEventTime() - mTouchDownTime; 
        Log.v("CustomDebug", "Message: " + elapsedTime); 

       } 
       return false; 
      } 
     }); 

答えて

2

onTouchがMotionEvent ACTION_UP

とMotionEvent ACTION_DOWN目と2回目で初めてそう擬似コード、二回呼び出されます:これは、こと

if Event == ACTION_DOWN 
    saveTime = time(); 
elseif Event == ACTION_UP and time()-savetime > 5 
    doStuff because the guy hold it for 5sec. 
+0

を想定していますユーザーは5秒後に持ち上げます。ユーザーが引き続き押さえていてもそれを発生させたい場合は、Event == ACTION_UPのチェックを外してください。 – anakin78z

+0

はい、ありがとうございます。それは解決策ではありませんでしたが、それは私が多くの助けをしたためにマークしました。私は私の質問の作業の解決策を書いていきます。 –

関連する問題