2016-11-24 2 views
0

J'écris une application qui obtient l'entrée d'un scanner de code barres. Le scanner est simplement enregistré comme un clavier avec le système d'exploitation Android. Ainsi, il suffit de 'taper' quel que soit le code à barres qu'il lit dans l'EditText actuellement ciblé.Android: comment s'assurer qu'un EditText ne perd jamais son focus?

Je n'ai pas l'intention d'avoir d'autres EditText dans mon application. J'ai mis AutoFocus à true, et cela fonctionne pour l'instant.

Mais y a-t-il des scénarios/événements où il pourrait perdre le focus (changer l'application, faire une capture d'écran, ...)?

Parce que je veux cacher mon EditText et l'utilisateur n'aurait pas la chance de le refocaliser lui-même. Mes utilisateurs sont des personnes très non-techy qui obtiennent un appareil facilement configurable qui utilise uniquement cette application, je veux donc leur cacher comment cela fonctionne.

+0

modifier le texte d'écriture focuschangelistner, et que edittext.requestfocus d'écriture() – Redman

Répondre

0

Try comme ça, je ne ai pas encore testé, mais je pense que cela devrait fonctionner

edit.setOnFocusChangeListener(new OnFocusChangeListener() { 

    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     if(!edit.hasFocus()){ 
      edit.requestFocus(); 
     } 

    } 
});