2011-02-18 32 views
5

Có cách nào để nối thêm một chuỗi vào giá trị EditText, để chuỗi được nối thêm không chỉnh sửa được không?Nối chuỗi không thể chỉnh sửa vào EditText

tức là tôi có EditText cho địa chỉ email, tôi muốn coi địa chỉ email là một thực thể chứ không phải là các ký tự đơn. Do đó nếu người dùng xóa ký tự cuối cùng của địa chỉ email, tôi muốn xóa toàn bộ địa chỉ email thay vì ký tự cuối cùng.

Tôi đã xem Spannable nhưng không thể thấy bất kỳ điều gì hiển nhiên. Điều này tương tự như cách Gmail và các ứng dụng khác làm điều đó.

+3

Có lẽ bạn chỉ có thể có một người thay đổi văn bản đã thay đổi và sau đó sửa đổi nội dung của EditText theo cách thủ công, sau đó thay thế nó bằng những gì bạn muốn. Nếu người dùng đã nhập [email protected] thì khi độ dài giảm 1, hãy đặt văn bản thành chuỗi trống. Không biết nếu đó là những gì bạn muốn mặc dù. :) – Zarah

+0

@Zarah: Câu trả lời hay (tôi đã bình chọn nó :-). Có lẽ bạn nên đặt nó như là một "Trả lời" thay vì một "Bình luận", mặc dù. Như bây giờ, dường như không có cách nào để Chris Banes chấp nhận giải pháp của bạn là "Câu trả lời" (miễn là anh ta muốn, tất nhiên). – dbm

+0

@dbm Xin chào! :) Tôi không chắc đó có phải là những gì Chris Banes muốn hay không. Có vẻ như rất nhiều người đã đồng ý với tôi, nên đăng lại nó như một câu trả lời. :) – Zarah

Trả lời

4

Đăng lại nhận xét của tôi dưới dạng câu trả lời (và sửa đổi các từ để làm cho đề xuất của tôi rõ ràng hơn).

Có [onTextChanged] (http://developer.android.com/reference/android/widget/TextView.html#onTextChanged(java.lang.CharSequence, int, int, int)) được đính kèm với số EditText của bạn để được thông báo về đầu vào của người dùng. Sau đó, bạn có thể kiểm tra độ dài của nội dung của EditText và nếu nó giảm 1, thì bạn có thể giả định rằng người dùng đã xóa một ký tự.

Nếu người dùng nhập [email protected] thì trên onTextChanged, bạn có thể đặt văn bản thành chuỗi rỗng. Tất nhiên bạn sẽ phải làm một số kiểm tra đầu tiên để đảm bảo rằng người dùng đã nhập địa chỉ email đầy đủ trước khi áp dụng thay đổi của bạn. Giống như, có thể đảm bảo rằng người dùng đã nhập ký tự @ rồi hoặc có khoảng trống sau ký tự không dấu cách cuối cùng.

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