2012-06-29 24 views
7

Kullanıcı belirli bir görünümde hareket etmeyi durdurduğunda uygulamamda algılamam gerekiyor. Uygulamamda, kullanıcı görünümüne dokunurken ve bunun üzerinde hareket ederken etkileşim kurabilen marque metnine benzer bir şey oluşturuyorum. Ve kullanıcı parmağını kaldırdıktan sonra görünümü kaydırmaya başladım. Parmağımı birkaç saniye boyunca görüntüüm ve parmağımı kaldırdığımda MotionEvent.ACTION_UP çağrılmadığımı fark ettiğim gibi. En son yakaladığım olay ACTION_MOVE. Öyleyse, kullanıcı birkaç saniye boyunca görüntüyü değiştirdikten sonra parmağını kaldırdığında nasıl fark edebilirim? Bunu tespit edebilecek bir çeşit fonksiyon var mı? peşinMotionEvent.ACTION_MOVE işlemi tamamlandığında nasıl algılanır

txt.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, final MotionEvent event) { 
     switch (event.getAction()) { 
      case MotionEvent.ACTION_DOWN: 
       Log.e("","event down : "+event.getAction()); 
       handler.removeCallbacks(runnable); 
       break; 
      case MotionEvent.ACTION_UP: 
       Log.e("","event up : "+event.getAction()); 
       if(myTimer!=null){ 
        myTimer.cancel(); 
       } 
       break; 
      case MotionEvent.ACTION_MOVE: 
       Log.d("","move"); 
       // handler.removeCallbacks(runnable); 
       checkX(); 
       break; 
     } 
     return true; 
    } 
}); 

Teşekkür:

İşte kullanıyorum kodudur!

+0

kodunuzu görüntüleyin. Bu yüzden – rajpara

+0

örnek kod eklenebilir. –

+0

Aynı anda MotionEvent.ACTION_POINTER_UP, MotionEvent.ACTION_MOVE eklendikten sonra parmakla parmak basma sonrasında multitouch ile aynı problemim var. Bu aptalca bir şey ... –

cevap

2

Etkinlik, hareket tamamlanmadan önce ACTION_CANCEL eylemi gönderiyor olabilir. Veya, kontrol ettiğiniz görünümün dışına sürüklenirse, ACTION_OUTSIDE olabilir.

/debug bu, bir Log.d() deyimi koymak MotionEvent.getActionMasked() değerini yazdırmak ve ACTION_MOVE olay bittikten sonra eylemler çağrıldığını olduğunu görmek için kontrol etmek olurdu onaylamak için en iyi yol.

İlgili konular