Dalc Posté(e) 16 août 2011 Share Posté(e) 16 août 2011 Salut à tous, J'ai un problème lorsque je veux scroller un EditText quand j'écris dans un autre. En fait ce que je veux faire, c'est que quand je tape sur entrée dans un EditText et que la scrollbar de cet EditText descends, je veux que celle de l'autre EditText fasse la même chose J'ai essayé : editText1.scrollTo( 0, editText2.getScrollY() ); Mais cela ne fonctionne que lorsque je le met dans le onTouchListener du premier EditText Voilà si quelqu'un peux m'aider ? Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bismuth76 Posté(e) 16 août 2011 Share Posté(e) 16 août 2011 Bon, c'est pas ultra clair (genre un bout de code aurait aidé déjà :P ) mais de ce que j'en comprends, en gros, le scrolling de ton second editText (qui doit se réaliser en même temps que le premier) ne se fait que dans le touchListener. As-tu essayé de faire le scrolling dans un keyListener ? Enfin, mon idée ce serait d'avoir un keyListener et dans celui-ci, détecter la touche entrée et tester quel editText a le focus, si c'est le 1, on scroll le 2 et si c'est le 2 on scroll le 1. Wala, c'est juste une idée, n'hésite pas à revenir dessus si ça marche (et si ça marche pas, mais avec un peu plus de détail :D ). A plus ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dalc Posté(e) 16 août 2011 Auteur Share Posté(e) 16 août 2011 M'en doutais que ça allais pas être clair ^^' Pour résumer je fais : // Ajout de listener( dans le onCreate de l'activity ) editext1.setOnKeyListener( this ); public boolean onKey(View v, int keyCode, KeyEvent event) { if( event.getAction() == KeyEvent.ACTION_DOWN ) { // Lors de l'appuie de la touche Entrée if( keyCode == KeyEvent.KEYCODE_ENTER ) { editext2.scrollTo( 0, editText1.getScrollY() ); } } } Justement j'utilise onKeyListener sur un des deux EditText car un seul des deux doit scroller l'autre. Et donc lorsque j'appuie sur entrée l'editext2 ne scroll pas :/ Sachant que les edittexts ont toujours le même nombre de lignes. Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bismuth76 Posté(e) 17 août 2011 Share Posté(e) 17 août 2011 Merci pour le code et l'éclaircissement ;) As-tu vérifié (on sait jamais, je lance des pistes, ça peut peut-être aider ^^) si tu entres bien jusqu'à ton scrollTo, genre en mettant un log.v() juste avant ? C'est peut-être un problème de keycode. Et sinon (mais là je ne pense pas que le problème vienne d'ici), n'oublie pas de retourner "true" juste après ton scrollTo() pour préciser que tu as géré l'event et "false" en dehors de ton if, à la fin du onKey() pour dire que tu ne l'as pas utilisé ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dalc Posté(e) 17 août 2011 Auteur Share Posté(e) 17 août 2011 Merci pour le code et l'éclaircissement ;) As-tu vérifié (on sait jamais, je lance des pistes, ça peut peut-être aider ^^) si tu entres bien jusqu'à ton scrollTo, genre en mettant un log.v() juste avant ? C'est peut-être un problème de keycode. Et sinon (mais là je ne pense pas que le problème vienne d'ici), n'oublie pas de retourner "true" juste après ton scrollTo() pour préciser que tu as géré l'event et "false" en dehors de ton if, à la fin du onKey() pour dire que tu ne l'as pas utilisé ;) Alors, oui il entre bien jusqu'au scrollTo ^^ Et en fait à la fin de la méthode( car j'écoute d'autre touche aussi ) je retourne return super.onKeyDown( keyCode, event ); J'ai testé en retournant true ou false mais cela n'a rien changé à part que le curseur ne descendait plus à la ligne d'en dessous ^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dalc Posté(e) 19 août 2011 Auteur Share Posté(e) 19 août 2011 Alors, oui il entre bien jusqu'au scrollTo ^^ Et en fait à la fin de la méthode( car j'écoute d'autre touche aussi ) je retourne return super.onKeyDown( keyCode, event ); J'ai testé en retournant true ou false mais cela n'a rien changé à part que le curseur ne descendait plus à la ligne d'en dessous ^^ J'ai bien l'impression que la méthode scrollTo ne marche pas, j'ai essayé sur mes deux editexts y en a aucun qui scroll. Ou alors il y a des conditions pour que cela marche je ne sais pas :s EDIT: J'ai trouvé la solution sur stackoverflow en fait edittext2.post(new Runnable() { @Override public void run() { edittext2.scrollTo(0, editext1.getScrollY() ); } }); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.