有两个EditText,在加载页面时,在第一个EditText中设置了一个文本,所以现在光标将位于EditText的起始位置,我想在第二个EditText中设置光标的位置,其中不包含数据。如何做到这一点?
当前回答
EditText editText = findViewById(R.id.editText);
editText.setSelection(editText.getText().length());
其他回答
如何设置编辑文本光标的位置在Android
下面的代码是将光标设置为开始在EditText:
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());
下面的代码将光标设置在第2个字符位置之后:
EditText editText = (EditText)findViewById(R.id.edittext_id);
editText.setSelection(2);
我用这种方法在以编程方式更新EditText文本后,将光标位置设置为文本的末尾 这里,etmsg是EditText
etmsg.setText("Updated Text From another Activity");
int position = etmsg.length();
Editable etext = etmsg.getText();
Selection.setSelection(etext, position);
让editText2是你的第二个EditText视图。然后将以下代码放在onResume()中
editText2.setFocusableInTouchMode(true);
editText2.requestFocus();
或者把
<requestFocus />
在第二个EditText视图的xml布局中。
如果我们直接使用editText.setSelection(position),有时编辑文本光标不会出现在特定位置;. 那样的话,你可以试试
editText.post(new Runnable() {
@Override
public void run() {
editText.setSelection(string.length());
}
});
如果要将光标设置在n个字符之后 从右向左,然后像这样。
edittext.setSelection(edittext.length()-n);
如果edittext的文本像
version<sub></sub>
你想把光标从右移到第6位
然后它将移动光标在-
version<sub> </sub>
^
推荐文章
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 在Android中将字符串转换为Uri
- 如何在NestedScrollView内使用RecyclerView ?
- 移动到另一个EditText时,软键盘下一步点击Android
- Android应用中的GridView VS GridLayout
- Activity和FragmentActivity的区别
- 右对齐文本在android TextView
- 权限拒绝:start前台需要android.permission.FOREGROUND_SERVICE
- 如何更改android操作栏的标题和图标
- Android Split字符串
- 让一个链接在安卓浏览器启动我的应用程序?
- 如何在Android工作室的外部库中添加一个jar ?
- GridLayout(不是GridView)如何均匀地拉伸所有子元素
- 如何让一个片段删除自己,即它的等效完成()?