如何将光标移到EditText的右边缘,因为用户将数据放入其中,编辑过的EditText被编辑了?

时间:2015-05-26 00:10:22

标签: java android android-edittext

我有5个EditText字段。只有在从对话框输出之前光标位于前3中的任何位置,在用户从对话框输出后,它才会停留在相同的位置。这很好。

但是对于最后2个,光标始终位于之前对话框后的第一个数字。那个好。

这样做的原因是我总是编辑最后两个,因为它们可能包含同样位于第三个字段中的数字,这是不合逻辑的(在用户的部分)。

我不在乎光标是否停留在用户将其留在这两个字段中的位置,但我希望在编辑它之后将其定位在字段的右边缘。

我希望一些简单的东西,比如下面的内容,将光标放在字段的右边缘,但不是。

    String sss;
    sss = exclude.getText().toString();
    exclude.setText("");
    exclude.setText(sss);

添加.requestFocus()也不会。

.setGravity(View.FOCUS_RIGHT)也没有。

光标始终位于字段的左边缘。

关于如何将光标移到已经编程编辑的字段右边缘的任何想法,因为用户将数据放入其中?

*阅读下面的答案后编辑#3 * 这样做(如果你把它放在合乎逻辑的地方!!):

    exclude.setSelection(exclude.getText().length());

*编辑#4 * 这与上述相同,也可以做到。

    exclude.setSelection(exclude.getText().toString().length());

1 个答案:

答案 0 :(得分:2)

您要找的是setSelection()。在最右边的EditText末尾移动光标的最佳方法是使用

mEditText.setSelection(mEditText.getText().length());