有两个EditText,在加载页面时,在第一个EditText中设置了一个文本,所以现在光标将位于EditText的起始位置,我想在第二个EditText中设置光标的位置,其中不包含数据。如何做到这一点?
当前回答
我不会得到setSelection()方法直接,所以我做如下和 魅力工作
EditText editText = (EditText)findViewById(R.id.edittext_id);
editText.setText("Updated New Text");
int position = editText.getText().length();
Editable editObj= editText.getText();
Selection.setSelection(editObj, position);
其他回答
我用这种方法在以编程方式更新EditText文本后,将光标位置设置为文本的末尾 这里,etmsg是EditText
etmsg.setText("Updated Text From another Activity");
int position = etmsg.length();
Editable etext = etmsg.getText();
Selection.setSelection(etext, position);
我相信最简单的方法就是使用填充。
Say in your xml's edittext section, add android: paddingLeft = " 100 dp” This will move your start position of cursor 100dp right from left end.
同理,你可以用 android: paddingRight = " 100 dp” 这将把你的光标的结束位置从右端向左移动100dp。
要了解更多细节,请查看我博客上的这篇文章:Android:在EditText Widget中设置光标的起始和结束位置
记住在setSelection之前调用requestFocus()用于edittext。
这将把光标移动到edittext的末尾
.toString myEditText.setSelection (myEditText.getText () () . length ())
如果我们直接使用editText.setSelection(position),有时编辑文本光标不会出现在特定位置;. 那样的话,你可以试试
editText.post(new Runnable() {
@Override
public void run() {
editText.setSelection(string.length());
}
});
推荐文章
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 在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)如何均匀地拉伸所有子元素
- 如何让一个片段删除自己,即它的等效完成()?