Я бы хотел переопределить два метода TextView (из которых AppCompatEditText является подклассом) со следующими сигнатурами:
protected void setSpan_internal(Object span, int start, int end, int flags) {
((Editable) mText).setSpan(span, start, end, flags);
}
protected void setCursorPosition_internal(int start, int end) {
Selection.setSelection(((Editable) mText), start, end);
}
Независимо от того, что я делаю, они не выглядят как переопределяемые методы вдиалоговое окно CTRL + O в Android Studio, и, если я делаю это вручную, линтер IDE жалуется, что «Метод никогда не используется».
Это мой код:
public class MaxLengthEditText extends AppCompatEditText {
public MaxLengthEditText(Context context) {
super(context);
}
public MaxLengthEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MaxLengthEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
protected void setSpan_internal(Object span, int start, int end, int flags) {
final int textLength = getText().length();
getText().setSpan(span, start, Math.min(end, textLength), flags);
}
protected void setCursorPosition_internal(int start, int end) {
final int textLength = getText().length();
Selection.setSelection(getText(), Math.min(start, textLength), Math.min(end, textLength));
}
}
Что я делаюздесь не так?