J'écris une application de calculatrice simple (en utilisant une disposition absolue avec 3 boîtes d'édition et des boutons), qui comporte deux boîtes INPUTTEXT et une boîte de sortie.
onClick(View arg0){ operator.setText("+"); //Move focus from input1 to input2 input1.clearFocus(); input2.setNextFocusDownId(input2.getId()); }
3 Réponses :
[Au fait, vous voulez éviter d'utiliser Absolutelayout - il est obsolète et peut être supprimé.]
Au lieu d'utiliser OnClick, vous souhaitez que l'action se produise dans une méthode d'annonce de Keylistener. P>
Voir: setkeylistener p>
alors vous pouvez examiner le clé KeyEvent S avec P>
KeyEvent.getAction() == KeyEvent.KEYCODE_PLUS
Essayez ceci: p>
Vous utilisez Input2, et je suppose que vous voulez aller de l'entrée1 à INPUT2. P> INPUT1.STNEXTFOCUSTODDID (INPUT2.GETID ()); CODE> P>
Eh bien, j'ai trouvé la réponse: nous pouvons simplement appeler INPUT2.ReQuestFocus (); code> pour changer la mise au point. P>
Eh bien, j'ai trouvé la réponse, nous pouvons simplement appeler Input.Requestfocus (); changer le focus.
Et si vous avez besoin d'utiliser cela dans TextWatcher et que vous devez le généraliser, ce qui signifie que vous n'avez pas d'utiliser un objet spécifique pour appeler Demandefocus (); Avez-vous la réponse pour cela?