我正在替换EditText中的一些文本,然后我想将光标移动到当前文本输入的末尾。这似乎有点 - 当我再次开始输入时,光标似乎在EditText的末尾,但它不再闪烁/闪烁。我必须再次触摸EditText,光标再次开始闪烁。我做错了吗?:
editText.setSelection(editText.getText().length()-1);
由于
答案 0 :(得分:44)
我使用的一个技巧是将文本设置为“”,然后附加我想要的整个字符串。
即
String newtext = editText.getText().toString() + "the new text";
editText.setText("");
editText.append(newtext);
这似乎把光标放在了正确的位置。
答案 1 :(得分:18)
EditText et = (EditText)findViewById(R.id.inbox);
et.setSelection(et.getText().length());
第二种方法
有一个名为append for ediitext的函数,它将字符串值附加到当前的edittext值,并将光标放在值的末尾。您可以将字符串值作为当前的ediitext值,并调用append();
myedittext.append("current_this_edittext_string");
答案 2 :(得分:0)
允许用户更改“编辑文字”中的整个文字(使用户更友好)
editText.selectAll(); //user can delete the whole text at one go
editText.requestFocus();