Câu hỏi của tôi:
Tôi đã xem mã nguồn của TextWatcher và tôi không có khái niệm ở đây. Điểm mở rộng của NoCopySpan là gì?Lớp bên trong bên trong Giao diện thực hiện cùng một Giao diện, những gì chúng tôi đang đạt được bằng cách này?
TextWatcher.java:
public interface TextWatcher extends NoCopySpan {
public void beforeTextChanged(CharSequence s, int start, int count, int after);
public void onTextChanged(CharSequence s, int start, int before, int count);
public void afterTextChanged(Editable s);
}
NoCopySpan.java:
package android.text;
/**
* This interface should be added to a span object that should not be copied into a new Spanned when performing a slice or copy operation on the original Spanned it was placed in.
*/
public interface NoCopySpan {
/**
* Convenience equivalent for when you would just want a new Object() for
* a span but want it to be no-copy. Use this instead.
*/
public class Concrete implements NoCopySpan {}
}
Tôi nghĩ đó chỉ là lớp '' 'helper''' nên được sử dụng khi bạn cần chuyển một thể hiện của '' 'NoCopySpan'''. – danypata