2012-06-22 53 views
17

Tôi đang sử dụng hộp EditText để người dùng nhập địa chỉ email của họ.Android: EditText.setInputType() cách thiết lập cho email nhưng không tự động đề xuất

tôi đặt nó bằng cách sử dụng:

box.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); 

Điều này dẫn đến bàn phím mềm xuất hiện với '@' và '' (và một số phím '.com') trên bàn phím bố trí ban đầu. Tuyệt vời chỉ là những gì tôi muốn.

Tuy nhiên, tôi nhận thấy văn bản màu đen (khi tôi chỉ định màu trắng). Tôi thấy điều này là do tự động đề xuất. Nếu tôi đi vào Settings->Languages/Keyboards->Touch Input->TextInput và tắt Dự đoán và Hoàn thành từ, thì văn bản sẽ hiển thị màu trắng.

Bây giờ là câu hỏi: Làm thế nào để tự động hoàn thành chương trình bị vô hiệu hóa cho điều này?

Tôi đã cố gắng thiết lập các hộp bằng cách thực hiện:

box.setInputType(InputType.TYPE_CLASS_TEXT | TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

Điều này dẫn đến tất cả các văn bản trắng (tức là không có tính năng tự động gợi ý). Nhưng sau đó tôi còn có các nút '@' và '.com' bằng email! Bah-humbug.

Dù sao để nhận cả hai? Cảm ơn.

Trả lời

32

Mã này nên làm như lừa:

box.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); 

Bạn có thể thêm bao nhiêu lá cờ như bạn muốn, miễn là chúng tương thích với nhau.

+0

Xin cảm ơn - quên đề cập đến việc tôi đã thử điều đó. Tôi cũng hy vọng điều này sẽ làm việc. Dường như tự động đề xuất vẫn bật, ngay cả với cờ NO_SUGGESTIONS trong trường hợp này. – bubba

+0

Bạn đang thử nghiệm phiên bản thiết bị nào? Bạn đang sử dụng trình giả lập hoặc thiết bị thực tế? – Eric

+0

Droid Incredible 2 trên Android 2.3.4. – bubba

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