Select all text inside EditText when it gets focus

AndroidAndroid Edittext

Android Problem Overview


I have an EditText with some dummy text in it. When the user clicks on it I want it to be selected so that when the user starts typing the dummy text gets deleted.

How can I achieve this?

Android Solutions


Solution 1 - Android

You can try in your main.xml file:

android:selectAllOnFocus="true"

Or, in Java, use

editText.setSelectAllOnFocus(true);

Solution 2 - Android

editText.setSelectAllOnFocus(true);

This works if you want to do it programatically.

Solution 3 - Android

EditText dummy = ... 

// android.view.View.OnFocusChangeListener
dummy.setOnFocusChangeListener(new OnFocusChangeListener(){
    public void onFocusChange(View v, boolean hasFocus){
        if (hasFocus) && (isDummyText())
            ((EditText)v).selectAll();
    }
});

Solution 4 - Android

I know you've found a solution, but really the proper way to do what you're asking is to just use the android:hint attribute in your EditText. This text shows up when the box is empty and not focused, but disappears upon selecting the EditText box.

Solution 5 - Android

Managed it by calling focus and selection on program

{
editabletext.requestFocus();
editabletext.selectAll();
}

Solution 6 - Android

Why don't you try android:hint="hint" to provide the hint to the user..!!

The "hint" will automatically disappear when the user clicks on the edittextbox. its the proper and best solution.

Solution 7 - Android

You can also add an OnClick Method to the editText after

_editText.setSelectAllOnFocus(true);

and in that:

_editText.clearFocus();
_editText.requestFocus();

As soon as you click the editText the whole text is selected.

Solution 8 - Android

SelectAllOnFocus works the first time the EditText gets focus, but if you want to select the text every time the user clicks on it, you need to call editText.clearFocus() in between times.

For example, if your app has one EditText and one button, clicking the button after changing the EditText leaves the focus in the EditText. Then the user has to use the cursor handle and the backspace key to delete what's in the EditText before they can enter a new value. So call editText.clearFocus() in the Button's onClick method.

Solution 9 - Android

I tried an above answer and didn't work until I switched the statements. This is what worked for me:

    myEditText.setSelectAllOnFocus(true);
    myEditText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onClickMyEditText();
        }
    });

   private void onClickMyEditText() {
       if(myEditText.isFocused()){
        myEditText.clearFocus();
        myEditText.requestFocus();
       }else{
           myEditText.requestFocus();
           myEditText.clearFocus();
       }
   }

I had to ask if the focus is on the EditText, and if not request the focus first and then clear it. Otherwise the next times I clicked on the EditText the virtual keyboard would never appear

Solution 10 - Android

Just add this to your editText in the .xml file

> android:selectAllOnFocus="true"

Solution 11 - Android

This is works for me:

myEditText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if(myEditText.isFocused()){
                myEditText.requestFocus();
                myEditText.clearFocus();
                myEditText.setSelection(myEditText.getText().length(), 0);
            }else{
                myEditText.requestFocus();
                myEditText.clearFocus();
            }
            
        }
    });

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGalipView Question on Stackoverflow
Solution 1 - AndroidTheCottonSilkView Answer on Stackoverflow
Solution 2 - AndroidcreftosView Answer on Stackoverflow
Solution 3 - AndroidxandyView Answer on Stackoverflow
Solution 4 - AndroidKevin CoppockView Answer on Stackoverflow
Solution 5 - AndroidAMDView Answer on Stackoverflow
Solution 6 - AndroidVaibhav VajaniView Answer on Stackoverflow
Solution 7 - Androiduser4596287View Answer on Stackoverflow
Solution 8 - AndroidNoumenonView Answer on Stackoverflow
Solution 9 - AndroidRipperJugoView Answer on Stackoverflow
Solution 10 - AndroidJulio Cesar ReisView Answer on Stackoverflow
Solution 11 - Androidsenior_russiaView Answer on Stackoverflow