2012-02-01 29 views
5

Trong ứng dụng của tôi, tôi muốn có một số EditText không chấp nhận bất kỳ đầu vào nào, tức là android:editable="false" trong bố cục XML hoặc setKeyListener(null) trong mã.Con trỏ EditText Android 4.0 luôn ẩn đối với editable = false

Tôi chỉ muốn thêm các ký tự theo cách được kiểm soát và vì vậy tôi luôn thêm ký tự theo chương trình với setText() và tôi không muốn bất kỳ bàn phím ảo nào hiển thị. Tuy nhiên, tôi vẫn cần một con trỏ hiển thị trong số EditText để người dùng biết nơi chèn đầu vào có lập trình.

Điều này rất dễ thực hiện (android:editable="false") cho đến Android 4.0. Trong 4.0, con trỏ dường như đã bị xóa. Tôi đã thử android:cursorVisible="true" nhưng nó không hoạt động.

Có ai biết cả hai đều có con trỏ hiển thị và vẫn chặn đầu vào trong Android 4.0? Thực sự biết ơn vì sự giúp đỡ nào ở đây.

+1

Thực ra, tôi nhận thấy giải pháp bên dưới đang hoạt động trên trình mô phỏng, nhưng khi tôi thử nghiệm trên thiết bị, bàn phím vẫn xuất hiện khi nhấp vào bên trong EditText.Phải pháp khác (cụ thể cho Android 4.0 trở lên) dường như hoạt động trên thiết bị cũng như được cung cấp tại đây: http://code.google.com/p/android/issues/detail?id=27609 – andrrs

Trả lời

2

Hãy Cố gắng

android:clickable="false" 
+0

Có, nó dường như gần như những gì tôi đang tìm kiếm, ngoại trừ EditText vẫn có thể chỉnh sửa được và do đó chấp nhận đầu vào từ các nút bàn phím phần cứng bàn phím ảo bị chặn. Tôi đoán tôi có thể giải quyết bằng cách lọc đầu vào của nó mặc dù. Cảm ơn @Maurycy – andrrs

1

Đặt android: focusable = false trong EditText của bạn.

+0

Cảm ơn bạn đã đề xuất, nhưng không thể lấy được tiêu điểm = sai Bất kỳ con trỏ nào trong EditText – andrrs

+0

đều có thể tập trung xung quanh màn hình – Maurycy

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