有两个EditText,在加载页面时,在第一个EditText中设置了一个文本,所以现在光标将位于EditText的起始位置,我想在第二个EditText中设置光标的位置,其中不包含数据。如何做到这一点?
当前回答
你可以这样用:
if (your_edittext.getText().length() > 0 ) {
your_edittext.setSelection(your_edittext.getText().length());
}
您可以将这一行添加到EditText xml中吗
android:gravity="right"
android:ellipsize="end"
android:paddingLeft="10dp"//you set this as you need
但当任何文本写入时,你应该将左填充设置为零
你应该在addTextChangedListener上使用这个
其他回答
我想在不包含数据的编辑文本中设置光标位置
在空的EditText中只有一个位置,它是setSelection(0)。
或者您的意思是当您的活动打开时,您希望将焦点集中到您的EditText ?在这种情况下,它的requestFocus()
我不会得到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);
其中position为int型:
editText1.setSelection(position)
我用这种方法在以编程方式更新EditText文本后,将光标位置设置为文本的末尾 这里,etmsg是EditText
etmsg.setText("Updated Text From another Activity");
int position = etmsg.length();
Editable etext = etmsg.getText();
Selection.setSelection(etext, position);
如何设置编辑文本光标的位置在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);
推荐文章
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 在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)如何均匀地拉伸所有子元素
- 如何让一个片段删除自己,即它的等效完成()?