我正在更改keyListener上的EditText的值。
但是当我更改文本时,光标移动到EditText的开头。 我需要光标在文本的末尾。
如何将光标移动到EditText文本的末尾。
我正在更改keyListener上的EditText的值。
但是当我更改文本时,光标移动到EditText的开头。 我需要光标在文本的末尾。
如何将光标移动到EditText文本的末尾。
当前回答
etSSID.setSelection(etSSID.getText().length());
其他回答
您应该能够在EditText的方法setSelection()的帮助下实现这一点,请参阅这里
如果你之前调用setText并且新的文本没有得到布局阶段调用setSelection在一个单独的runnable中由View.post(runnable)触发(从本主题重新发布)。
所以,对我来说,这段代码是有效的:
editText.setText("text");
editText.post(new Runnable() {
@Override
public void run() {
editText.setSelection(editText.getText().length());
}
});
编辑05/16/2019:现在我正在使用Kotlin扩展:
fun EditText.placeCursorToEnd() {
this.setSelection(this.text.length)
}
然后- editText.placeCursorToEnd()。
如果你想选择所有文本,只是输入新的文本而不是旧的,你可以使用
android:selectAllOnFocus="true"
如果你的EditText不清楚:
editText.setText("");
editText.append("New text");
or
editText.setText(null);
editText.append("New text");
这是
Editable etext = edittext.getText();
Selection.setSelection(etext,edittext.getText().toString().length());