Hôm nay tôi vẫn dùng editable="false"
, nhưng cũng vớifocusable="false"
.
Tôi nghĩ rằng trường hợp chúng ta cần làm cho EditText không thể chỉnh sửa được là bởi vì chúng ta muốn giữ kiểu EditText của nó (với phần gạch chân đó, với gợi ý, v.v.), nhưng nó chấp nhận các đầu vào khác thay vì văn bản. Ví dụ một danh sách thả xuống.
Trong trường hợp sử dụng như vậy, chúng ta cần phải có EditText
thể nhấp (do đó enabled="false"
không phù hợp). Cài đặt focusable="false"
thực hiện thủ thuật này, tuy nhiên, tôi vẫn có thể giữ lâu Chỉnh sửa và dán văn bản của riêng mình vào bảng tạm . Tùy thuộc vào mã của bạn và xử lý việc này thậm chí có thể làm hỏng ứng dụng của bạn.
Vì vậy, tôi cũng đã sử dụng editable="false"
và bây giờ mọi thứ đều tuyệt vời, ngoại trừ cảnh báo.
EditText
trong khi giữ các thuộc tính này, chỉ cần sử dụngUI.setReadOnly(myEditText, true)
từ thư viện này . Nếu bạn muốn sao chép hành vi này mà không có thư viện, hãy kiểm tra mã nguồn cho phương thức nhỏ này.