如何在请求焦点后将edittext光标位置恢复到末尾



当我多次请求editext的焦点时,即使有一些文本,它也会将光标移动到开头。我们如何将光标放置在已经存在的文本之后??

这将把光标设置到文本的最后一个位置:

editText.setSelection(editText.getText().length());

Edit Text有一个名为append的属性。我认为下面的代码行也将达到目的。

editText.append("");

在Layout EditText中,将android:ellipsize属性作为结束,如下所示android:ellipsize="end"

希望这将有助于

我有一个类似的要求,当用户想要编辑并点击EditText时,光标应该在末尾。我使用以下内容实现了相同的效果:

edtDisplayName.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_DOWN) {
                edtDisplayName.setSelection(edtDisplayName.getText()
                        .length());
                edtDisplayName.requestFocus();
                //Open key board for user to edit
                Commons.showKeyBoard(OnBoardActivity.this, edtDisplayName);
                return true;
            }
            return false;
        }
    });

以下是我打开键盘的方式:

public static void showKeyBoard(Context context, View view) {
    InputMethodManager imm = (InputMethodManager) context
            .getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(view, 0);
}

最新更新