59 votes

Focus de la requête EditText

Je conçois une page de connexion en tant que :

 UserName:  .....

Password:  .....

     LoginButton

Lorsque l'activité démarre, je souhaite que le focus aille dans la zone de texte "Nom d'utilisateur" et que le clavier apparaisse.

J'utilise le code suivant :

     boolean checkFocus=user.requestFocus();
    Log.i("CheckFocus", ""+checkFocus);
    if(checkFocus==true)
    {
    InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    mgr.showSoftInput(user, InputMethodManager.SHOW_IMPLICIT);
    }

Je ne comprends pas où écrire ce code pour faire apparaître le clavier lorsque l'activité démarre et le focus est sur la zone editText "UserName". Quelqu'un peut-il me guider s'il vous plait ?

187voto

Awais Tariq Points 2866

Par programmation :

 edittext.requestFocus();

Par XML :

 <EditText...>
    <requestFocus />
</EditText>

Ou appelez la méthode onClick manuellement.

26voto

Kanika Points 2522

Oui, j'ai eu la réponse .. éditez simplement le manifest comme :

         <activity android:name=".MainActivity"
        android:label="@string/app_name"
        android:windowSoftInputMode="stateAlwaysVisible" />

et définissez EditText.requestFocus() dans onCreate() ..

Merci..

5voto

drooooooid Points 519

youredittext.requestFocus() appeler depuis l'activité

 oncreate();

et utilisez le code ci-dessus là-bas

2voto

Ramon Lopes Points 21

Cela a fonctionné pour moi comme suit.

 ed1.requestFocus();

            return; //Faça um return para retornar o foco

0voto

Arpit Patel Points 1290

edittext.requestFocus() fonctionne pour moi dans mes Activity et Fragment

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