Android 的 EditText 控件默认获取焦点的时候, 插入光标是在第一个位置的,如果EditText中设置了文本, 这个时候光标是在文本的最前面, 而不是文本的最后. 为了方便用户使用, 需要把光标移动到文本最后, 但是EditText 没有提供 setCursor 函数. 经查看其文档 发现 setSelection 函数可以完成该功能. 如下:
Java代码
- EditText et = ...
- String text = "text";
- et.setText(text);
- et.setSelection(text.length());
如果对edittext组件设置了editText.setFocusable(false);需要重新获取焦点则必须执行:
editText.setFocusable(ture);
editText.setFocusableInTouchMode(true);
editText.requestFocus();
注意:这种情况下,当重新点击文本框,是无法打开软键盘,必须点击第二次才能打开。
如果改为:
editText.clearFocus(); 失去焦点
editText.requestFocus();获取焦点