Tôi đang tìm một giải pháp để tắt menu chỉnh sửa báo chí dài (sao chép/dán) và cũng nhấn đúp vào tất cả chức năng cho một hộp văn bản. Tôi đã đọc qua một vài giải pháp ở đây cho vấn đề này trong thời trang tương tự, tuy nhiên, cần phải đi thêm một bước nữa. Đối với ứng dụng này, tôi có yêu cầu ngăn người dùng sử dụng chức năng sao chép/dán trên ứng dụng của tôi và cần cách tắt chức năng này sẽ hoạt động trên 2,3 API cũng như khi được sử dụng trên máy tính bảng mới hơn. Tôi đang thử nghiệm với thiết bị điện thoại NexusOne và Galaxy Tablet. (minSDK là 8, mục tiêu là 10)Android - ngăn sao chép/dán edittext và nhấn đúp chọn tất cả
Hiện tại tôi đang sử dụng (ví dụ): edittextPassword.setLongClickable (sai); -disables menu chỉnh sửa bật lên, Tuyệt vời!
Phương pháp này hoạt động trên thiết bị điện thoại để ngăn cửa sổ bật lên chỉnh sửa menu. Trên máy tính bảng, điều này cũng bị tắt từ hành động nhấn lâu. Tuy nhiên, máy tính bảng có chức năng mới hơn của một lần nhấn đúp sẽ chọn tất cả văn bản và mở menu chỉnh sửa. Có cách nào để API cũ hơn hủy/bẫy/vô hiệu hóa tính năng API mới hơn hoặc ngăn chặn cử chỉ chạm đúp không?
Cập nhật: Sử dụng một sự kết hợp của setLongClickable (false) và setOnTouchListener kết nối với một GestureDetector (cảm ơn bạn Nikola đề nghị) Tôi có thể bẫy/hủy nhấn đúp chuột và chỉnh sửa menu bấm dài từ khai mạc.
Phần tiếp theo để tìm ra là ... trên điện thoại Samsung (Galaxy S, không chắc chắn về các thiết bị khác tại thời điểm này), khi bạn nhấn vào một trường, bạn sẽ có con trỏ và nút con trỏ trỏ nổi (Tên thích hợp??). Nhấp vào nút con trỏ này là một phương pháp khác để mở menu chỉnh sửa. Có ai biết cách tắt cái này không? Cách giải quyết duy nhất của tôi còn lại là xóa Clipboard trên BeforeTextChanges và AfterTextChanges bằng cách sử dụng một TextWatcher. Điều này đảm bảo rằng ngay cả khi bạn truy cập menu Sao chép/Dán, khay nhớ tạm sẽ bị xóa và không có gì để dán.
"Hiện tại tôi đang sử dụng: edittextPassword.setLongClickable (false); -chuyển menu chỉnh sửa bật lên, Tuyệt vời!"- Tôi sẽ ngạc nhiên nếu điều đó hoạt động trên tất cả các thiết bị. Nhiều hơn một nhà sản xuất đã sửa đổi cách' EditText' hoạt động liên quan đến các loại hoạt động này. – CommonsWare
Hãy xem xét người dùng của bạn. Tôi liên tục thất vọng bởi EditTexts cho mật khẩu không cho phép dán vì tôi sử dụng mật khẩu mạnh được tạo ngẫu nhiên (Dashlane) cho tất cả tài khoản của tôi và nhập những tài khoản đó vào một cách khó khăn đến nỗi tôi thường phải thay đổi mật khẩu thành thứ gì đó dễ dàng, nhập mật khẩu, sau đó thay đổi mật khẩu thành mật khẩu mạnh. Nó hút ... – Simon
Sử dụng GestureListener và trả lại đúng mọi lúc có nhấn đúp/nhấn lâu. Nó sẽ ngăn hệ thống phản ứng tương ứng nếu sự kiện không được xử lý. –