How to clear the selection in an EditText?
Asked Answered
R

4

11

How do you programmatically remove the selection from an EditText? I've tried:

myEditText.setSelection(selectionEnd);

but that just creates a selection of 0 length at the end of the current selection. I've also tried Selection.removeSelection(mySpannable), and it just puts an empty selection at the beginning of the text.

Rida answered 18/7, 2012 at 3:50 Comment(3)
do you want to clear text from edit textVelma
no, just cancel the text selection highlightingRida
Have you got your answer ?Bergh
H
18

Calling myEditText.clearFocus();. I think that's what you need

Hayrack answered 18/7, 2012 at 3:58 Comment(1)
This also hides the cursor. What if I want to remove the selection but keep the blinking cursor?Winterwinterbottom
C
3

To move selection to top:

edit_text.setSelection(0);

To move selection to bottom:

edit_text.setSelection(edit_text.getText().length());
Confine answered 27/11, 2018 at 4:30 Comment(0)
P
0
EditText message = (EditText) findViewById(R.id.sendText);
String text = message.getText().toString();
message.setText(null);
Perseid answered 18/7, 2012 at 4:23 Comment(0)
A
0

Simulate a tap gesture if you want to keep the textview focused:


public static void clearTextSelection(TextView view) {
        MotionEvent evt = MotionEvent.obtain(0, 0, MotionEvent.ACTION_DOWN, -1, -1, 0);
        view.dispatchTouchEvent(evt);
        evt.setAction(MotionEvent.ACTION_UP);
        view.dispatchTouchEvent(evt);
//      evt.setSource(100);
//      if(view.hasSelection()) view.clearFocus();
        evt.recycle();
    }
Abott answered 11/8, 2022 at 11:28 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.