2012-06-29 35 views
7

Tôi cần phát hiện trong ứng dụng của mình khi người dùng ngừng di chuyển trên một chế độ xem cụ thể. Tôi đang tạo một cái gì đó tương tự như văn bản cẩm nang trong ứng dụng của tôi có thể tương tác trong khi người dùng đang chạm vào chế độ xem và di chuyển trên đó. Và tôi cần bắt đầu cuộn chế độ xem sau khi người dùng nhấc ngón tay lên. Khi tôi nhận thấy nếu tôi di chuyển ngón tay của mình trên màn hình vài giây và khi tôi nhấc ngón tay, MotionEvent.ACTION_UP không được gọi. Sự kiện cuối cùng tôi chụp là ACTION_MOVE. Vậy làm thế nào tôi có thể phát hiện khi người dùng nhấc ngón tay lên sau khi di chuyển qua một vài giây? Có loại chức năng nào có thể phát hiện ra điều đó không?cách phát hiện khi MotionEvent.ACTION_MOVE kết thúc

Đây là mã mà tôi đang sử dụng:

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; 
    } 
}); 

Cảm ơn trước!

+0

hiển thị mã của bạn. để chúng tôi có thể giúp thêm – rajpara

+0

mã mẫu. –

+0

Tôi gặp vấn đề tương tự với cảm ứng đa điểm, sau khi ngón tay FIRST lên MotionEvent.ACTION_MOVE được gắn vào, sau đó là MotionEvent.ACTION_POINTER_UP. Đó là một cái gì đó ngu ngốc ... –

Trả lời

2

Tôi cho rằng sự kiện có thể gửi hành động ACTION_CANCEL trước khi cử chỉ kết thúc. Hoặc, nếu nó kéo ra ngoài chế độ xem bạn đang kiểm tra, nó có thể là ACTION_OUTSIDE.

Cách tốt nhất để xác nhận/gỡ lỗi này là đặt báo cáo Log.d() vào, in giá trị MotionEvent.getActionMasked() và kiểm tra xem hành động nào đang được gọi sau khi sự kiện ACTION_MOVE kết thúc.

Các vấn đề liên quan