975 votes

Placez le curseur à la fin du texte dans l'EditText

Je suis l'évolution de la valeur de l' EditText sur keyListener.

Mais lorsque je modifie le texte, le curseur se déplace vers le début de l' EditText. J'ai besoin de le curseur à la fin du texte.

Comment faire pour déplacer le curseur à la fin du texte, en EditText.

1423voto

marqss Points 4946

Essayez ceci:

EditText et = (EditText)findViewById(R.id.inbox);
et.setSelection(et.getText().length());

239voto

James Points 2722

Il y a une fonction appelée ajouter pour ediitext qui ajoute la chaîne de valeur de courant edittext valeur et place le curseur à la fin de la valeur. Vous pouvez avoir de la chaîne de valeur que le courant de la ediitext valeur elle-même et appel append();

myedittext.append("current_this_edittext_string"); 

130voto

Anton Derevyanko Points 1346

Si vous avez appelé setText avant et le nouveau texte n'a pas obtenir de l'aménagement de la phase d'appel setSelection dans un autre exécutable, déclenché par la Vue.de poste(Runnable) (repost de ce sujet).

Donc, pour moi, ce code fonctionne:

editText.setText("text");
editText.post(new Runnable() {
         @Override
         public void run() {
             registerPhone.setSelection("text".length());
         }
});

43voto

toobsco42 Points 613

Vous pouvez également placer le curseur à la fin du texte, dans l' EditText afficher comme ceci:

EditText et = (EditText)findViewById(R.id.textview);
int textLength = et.getText().length();
et.setSelection(textLength, textLength);

29voto

Mario Points 25
editText.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            editText.setSelection(editText.getText().length());
            return false;
        }
    });

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X