2012-11-10 33 views
5

Tôi đang cố gắng phát triển một tính năng trong đó một lần nhấn một mục sẽ gọi một Mục đích để chuyển đến Hoạt động khác và nhấn và nhấn HOẶC nhấn đúp vào mục đó để làm điều gì đó khác, chẳng hạn như cho phép bạn chỉnh sửa văn bản.Android: Hai sự kiện khác nhau cho một lần chạm và nhấn và nhấn đúp?

Cho đến nay, tôi chỉ có thể nhận cả hai điều này xảy ra cùng một lúc nhưng không phải riêng lẻ. Có ai có ý tưởng nào?

public boolean onTouchEvent(MotionEvent e) { 
    return gestureScanner.onTouchEvent(e); 
} 


public boolean onSingleTapConfirmed(MotionEvent e) { 
    Intent i = new Intent(getContext(), SecondClass.class); 
    getContext().startActivity(i); 

    return true; 
} 

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return false; } 
public void onLongPress(MotionEvent e) { 
    Toast.makeText(getContext(), "Edit feature here", Toast.LENGTH_SHORT).show(); 

} 
+0

Mã bưu điện, vì vậy tôi có thể sửa chữa nó – RajeshVijayakumar

Trả lời

6

Tôi đã giải quyết được vấn đề. Hóa ra tất cả những gì tôi cần làm là thay đổi giá trị trả về từ false thành true trong trình xử lý onDown().

public boolean onTouchEvent(MotionEvent e) { 
    return gestureScanner.onTouchEvent(e); 
} 

public boolean onSingleTapConfirmed(MotionEvent e) { 

    Intent i = new Intent(getContext(), SecondClass.class); 
    getContext().startActivity(i); 

    return true; 
} 

public boolean onDown(MotionEvent e) { return true; } 


public void onLongPress(MotionEvent e) { 
    Toast.makeText(getContext(), "Edit Feature", Toast.LENGTH_SHORT).show(); 

} 
+0

Làm việc cho tôi. –

4

Sử dụng một GestureDetector, các SimpleOnGestureListener có các phương pháp mà bạn muốn với onSingleTapConfirmed(), onLongPress(), và onDoubleTap().

+2

Tôi đã sử dụng GestureDetector. Nếu tôi đặt Intent của tôi vào phương thức onSingleTapConfirmed() thì nó không làm gì cả. Nó chỉ làm cho onLongPress() làm việc trên một vòi duy nhất: –

+0

Tôi đã thêm mã. –

+0

Loại chế độ xem nào bạn đang thêm chế độ xem này? Có vẻ như bạn muốn một TextView có thể trở thành EditText trên một cú nhấp chuột dài. – Sam

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