web-dev-qa-db-fra.com

Focus de demande EditText

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

UserName:  .....

Password:  .....

     LoginButton

Lorsque l'activité commence, je souhaite que le focus soit placé 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 que le clavier apparaisse au début de l'activité et que l'accent soit mis sur la zone d'édition "Nom d'utilisateur". Quelqu'un peut-il me guider s'il vous plaît?

53
Kanika

Par programme:

edittext.requestFocus();

À travers xml:

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

Ou appelez la méthode onClick manuellement.

168
Awais Tariq

Oui, j'ai la réponse .. modifiez simplement le fichier manifest comme:

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

et mettre EditText.requestFocus() dans onCreate() ..

Merci..

25
Kanika

youredittext.requestFocus() l'appeler de l'activité

oncreate();

et utilisez le code ci-dessus

4
drooooooid

Cela a fonctionné pour moi comme suit.

ed1.requestFocus();

            return; //Faça um return para retornar o foco
2
Ramon Lopes

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

0
Arpit Patel