2012-02-22 880 views
14

Tôi đang cố gắng để có được một EditText để xóa các nhịp của nó bằng cách gọi EditText.getText().clearSpans(). Tuy nhiên, nếu tôi gọi phương thức này, EditText bắt đầu hoạt động lạ thường, với nguồn cấp dữ liệu dòng xuất hiện dưới dạng hộp và bất kỳ khoảng thời gian nào tôi đặt ở vị trí hoàn toàn sai.Android Edittext- Clearing Spans

Vì vậy, câu hỏi của tôi là: Làm cách nào để xóa các khoảng từ và EditText? (Không gọi hàm setText() - văn bản có thể dài hàng nghìn dòng và quá dài để vẽ lại tất cả thường xuyên)

Cảm ơn rất nhiều!

Trả lời

34

Đã xảy ra sự cố tương tự. Giải quyết nó bằng cách loại bỏ chỉ các loại nhịp mà tôi đã thêm vào EditText. Tôi đoán clearSpans loại bỏ nhiều hơn mức cần thiết. Tôi đã làm một việc như thế này cho từng loại khoảng thời gian tôi đã sử dụng:

toRemoveSpans = et.getSpans(0, et.getText().length(), ForegroundColorSpan.class); 
for (int i = 0; i < toRemoveSpans.length; i++) 
    et.removeSpan(toRemoveSpans[i]); 
+1

Cảm ơn Andre. Trên thực tế tôi đã quản lý để giải quyết nó trước (xin lỗi tôi chỉ quên trả lời nó bản thân mình!), Nhưng cảm ơn cho đăng câu trả lời-Tôi chắc chắn một người nào khác sẽ được hưởng lợi từ nó. –

+1

Thật vậy, ai đó đã làm. Cảm ơn! – Carni