8
votes

Android Déplacer le curseur d'un editext sur un autre si cliquez sur une lettre dans le champ?

Je veux déplacer le curseur d'Editext1 vers un autre editext2. Je m'étais déjà concentré sur EditText1 mais comment déplacer le curseur vers EditText2.


3 commentaires

peut-être ajouter un Textwatcher sur votre eittext1


Voir ma réponse ici: Stackoverflow.com/questions/9003166/... Cela pourrait aider.


Merci à la fois d'U (Tapran et Hiral) pour votre aide. Maintenant son travail, Textwatcher aidez-moi .....


4 Réponses :


0
votes

Définir les propriétés dans votre code editext1 Cliquez sur Code ...

eittext2.requesfocus ();


0 commentaires

0
votes
  EditText editText1 = (EditText)findViewById(R.id.editText1 );
  EditText editText2 = (EditText)findViewById(R.id.editText2);


editText1.setOnKeyListener(new OnKeyListener() {

public boolean onKey(View v, int keyCode, KeyEvent event) {
      // If the event is a key-down event on the "enter" button
      if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
           (keyCode == KeyEvent.KEYCODE_ENTER))
      {
            // Perform action on Enter key press
            editText1.clearFocus();
            editText2.requestFocus();
            return true;
      }
      return false;
}
});

0 commentaires

13
votes

Enfin, j'ai eu la réponse:

 editText1.addTextChangedListener(new TextWatcher() {

                public void onTextChanged(CharSequence s, int start, int before,
                        int count) {
                    Integer textlength1 = editText1.getText().length();

                    if (textlength1 >= 1) { 
                        editText2.requestFocus();
                    }
                }

                @Override
                public void afterTextChanged(Editable s) {
                    // TODO Auto-generated method stub
                }

                @Override
                public void beforeTextChanged(CharSequence s, int start, int count,
                        int after) {
                    // TODO Auto-generated method stub
                }
            });

            editText2.addTextChangedListener(new TextWatcher() {

                public void onTextChanged(CharSequence s, int start, int before,
                        int count) {
                    Integer textlength2 = editText1.getText().length();

                    if (textlength2 >= 1) {
                        editText3.requestFocus();

                    }
                }

                @Override
                public void afterTextChanged(Editable s) {
                    // TODO Auto-generated method stub
                }

                @Override
                public void beforeTextChanged(CharSequence s, int start, int count,
                        int after) {
                    // TODO Auto-generated method stub

                }
            });


0 commentaires

3
votes

Je peux comprendre votre réponse,

mais il y a un autre bon moyen de le faire simplement en utilisant l'attribut suivant

Android: IMÉOPTIONS = "ActionNext"

L'exemple: xxx

merci,


0 commentaires