Skip to content

EditText光标移动与选择

本文主要介绍setSelection方法。

setSelection

  • setSelection(int start, int stop) 选择范围
  • setSelection(int index) 把光标移动到指定位置

假设有EditText,变量名为mEt1。

把光标移动到最前

mEt1.setSelection(0);

把光标移动到最后

mEt1.setSelection(mEt1.getText().length());

光标右移一位

mEt1.setSelection(mEt1.getSelectionEnd() + 1);

光标左移一位

mEt1.setSelection(mEt1.getSelectionEnd() - 1);

要注意的是,如果传入的index超出了text的范围,会报 java.lang.IndexOutOfBoundsException。

因此在实际工程中,需要判断传入的位置是否在EditText已有内容的长度范围内。

全选当前输入的text

mEt1.setSelection(0, mEt1.getText().length());