协慌网

登录 贡献 社区

将光标放在 EditText 中文本的末尾

我正在更改keyListener上的EditText的值。

但是当我更改文本时,光标移动到EditText的开头。我需要光标位于文本的末尾。

如何将光标移动到EditText本的末尾。

答案

试试这个:

EditText et = (EditText)findViewById(R.id.inbox);
et.setSelection(et.getText().length());

有一个名为 append for ediitext 的函数,它将字符串值附加到当前的 edittext 值,并将光标放在值的末尾。您可以将字符串值作为当前 ediitext 值本身并调用 append();

myedittext.append("current_this_edittext_string");

科特林

将光标设置为起始位置

val editText = findViewById(R.id.edittext_id) as EditText
editText.setSelection(0)

将光标设置为 EditText末尾

val editText = findViewById(R.id.edittext_id) as EditText
editText.setSelection(editText.getText().length())

Code 下面是将光标放在第二个字符后面:

val editText = findViewById(R.id.edittext_id) as EditText
editText.setSelection(2)

JAVA

将光标设置为起始位置

EditText editText = (EditText)findViewById(R.id.edittext_id);
 editText.setSelection(0);

将光标设置为 EditText末尾

EditText editText = (EditText)findViewById(R.id.edittext_id);
editText.setSelection(editText.getText().length());

Code 下面是将光标放在第二个字符后面:

EditText editText = (EditText)findViewById(R.id.edittext_id);
editText.setSelection(2);