如何在请求焦点后将编辑文本光标的位置恢复到结束位置

问题描述 投票:2回答:4

当我多次请求焦点时,即使有一些文本,它也会将光标移到开头。我们如何以这样一种方式放置光标,使其立即位于已经存在的文本之后?

android
4个回答
8
投票

这会将光标设置到文本的最后位置:

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

0
投票

[编辑文本]具有一个名为append的属性。我认为下面的代码行也可以达到目的。

editText.append("");

0
投票

在布局EditText中,将android:ellipsize属性作为此android:ellipsize="end"的结尾,>

希望这会有所帮助


0
投票

我有类似的要求,当用户要编辑并单击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;
        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.