8
votes

Android sur le changement de mise au point

Je veux mettre à jour un editext lorsqu'un utilisateur change de mise au point de l'editext sur un autre élément Je souhaite vérifier que le contenu de l'editext par exemple est le nombre supérieur à 10 si cela le modifie à 10.

Comment dois-je faire cela?


1 commentaires

Peut-être dans ce fil: vous avez ce que vous voulez.


4 Réponses :


3
votes
 EditText ET =(EditText)findViewById(R.id.yourtextField);
ET.setOnFocusChangeListener(new OnFocusChangeListener() {
            public void onFocusChange(View arg0, boolean arg1) {

String myText = ET.getText();
//Do whatever

} 

0 commentaires

11
votes

SET SETONFOCUSCHANGELISTENER CODE> à VOTRE EITITTEXT ...

editText.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(View v, boolean hasFocus) {

                if(!hasFocus){
              //this if condition is true when edittext lost focus...
              //check here for number is larger than 10 or not
                    editText.setText("10");
                }
            }
        });


1 commentaires

Évidemment en retard à la fête, mais en utilisant SetText Ici, vous émettrez l'avertissement "GetTextbeforecursor sur l'entrée inactive"



2
votes

Si quelqu'un veut faire cela à Kotlin et avec la banque de données, veuillez vous reporter ci-dessous le code

 //first get reference to your edit text 

 var editText:EditText = viewDataBinding.editText 

 // add listner on edit text 

 editText.setOnFocusChangeListener { v, hasFocus ->
        if(!hasFocus)
        {
      if((editText.text.toString().toIntOrNull()>10)
       {// add any thing in this block
         editText.text = "10"
       }
      }
     }


0 commentaires

0
votes

Je l'avais expliqué dans ce post si vous êtes intéressé. Vérifiez-le sur https://medium.com/@mdayanc/how-to-use-on-focus-change-a-format-edit-text -on android-studio-bf59edf66161

Voici le code simple pour utiliser Onfocuschangelistener P>

    EditText myEditText = findViewById(R.id.myEditText);

    myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if(hasFocus)
            {
              //Do something when EditText has focus
            }
            else{
              // Do something when Focus is not on the EditText
            }
        }
    });


0 commentaires