我用自定义视图编写了一个库,该视图是从EditText扩展而来的。
我希望当用户调用setText()时光标会停留在同一位置
但是默认情况下,EditText setText()将光标移到开始位置
我该如何解决?我可以以某种方式覆盖setText方法(或其他方法,例如BringPointToView()等等)
编辑1: 它不是this问题的重复
因为我想覆盖光标在Edittext上的标准行为。
不并且不强制lib用户调用 append()或setSelection()
编辑2: 我的解决方案
@Override
public void setText(CharSequence text, BufferType type) {
super.setText(text, type);
if (getText() != null) {
Selection.setSelection(getText(), getText().length());
}
}
答案 0 :(得分:0)
您应将文本设置为“”,然后追加将移动光标。
YourEditText.setText("");
YourEditText.append("youText");