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.

Sagar Zala
  • 4,854
  • 9
  • 34
  • 62
yuttadhammo
  • 5,069
  • 6
  • 34
  • 45

4 Answers4

18

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

user1417127
  • 1,525
  • 1
  • 21
  • 29
  • 2
    This also hides the cursor. What if I want to remove the selection but keep the blinking cursor? – Suragch Jun 17 '17 at 07:00
3

To move selection to top:

edit_text.setSelection(0);

To move selection to bottom:

edit_text.setSelection(edit_text.getText().length());
live-love
  • 48,840
  • 22
  • 240
  • 204
0
EditText message = (EditText) findViewById(R.id.sendText);
String text = message.getText().toString();
message.setText(null);
NagarjunaReddy
  • 8,621
  • 10
  • 63
  • 98
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();
    }
KnIfER
  • 712
  • 7
  • 13