EditText richiesta di messa a fuoco

Sto progettando una pagina di login come:

UserName:  .....

Password:  .....

     LoginButton

Quando inizia l’attività, voglio la messa a fuoco per andare a “nome utente” casella di testo e la tastiera visualizzata.

Sto usando il seguente codice:

    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);
    }

Non ho capito dove scrivere questo codice per rendere la tastiera visualizzata quando inizia l’attività e la messa a fuoco è il “nome utente” editText box. Qualcuno può per favore mi guida?

InformationsquelleAutor Kanika | 2011-11-10

 

5 Replies
  1. 168

    A livello di programmazione:

    edittext.requestFocus();

    Tramite xml:

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

    O chiamare il metodo onClick manualmente.

    • nel file manifest?
    • no nel Layout XML in cui si dichiara di modificare il testo.. stackoverflow.com/questions/2743559/…
    • ma che non funzionava?? :((
    • si esegue il test su quale dispositivo?? a volte Android O/S non si apre la tastiera, anche dopo la messa a fuoco mentre di inizio delle attività. Questo accade spesso in dispositivi con uno schermo piccolo.. in Realtà o/s in modo intelligente, rileva la dimensione dello schermo e decide se visualizzare la tastiera o non.. un’Altra cosa che si può provare è quello di chiamare onclick listner della vostra modificare la casella di testo manualmente…come : editText.onClick(null); e anche fare un controllo onClick listner per gestire null evento (io.e impedire l’applicazione si è schiantato..)
    • Sto testando su HTC desire.
    • provare a chiamare onClick manualmente come indicato sopra..
    • sì sto cercando….
    • no ancora che non funzionava..U dimmi una cosa che quando la mia attività inizia ,quindi prima si verrebbe a creare file xml e tramite la chiamata a setcontentview(),
    • cerchiamo di continuare questa discussione in chat
    • e solo dopo questa dichiarazione ,io sono di impostazione utente.requestfocus()…quindi perché non mi mostra la tastiera QWERTY?
    • sempre errore che XML is not well formed
    • XML genera non valido errore. Java metodo funziona bene.
    • Brillante, grazie bro :DDDD

  2. 25

    Sì, ho avuto la risposta.. basta semplicemente modificare il manifest file:

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

    e impostare EditText.requestFocus() in onCreate()..

    Grazie..

    • Questo dovrebbe essere accettato risposta, invece, questa è l’unica cosa che ha funzionato per me! grazie compagno
  3. 4

    youredittext.requestFocus() chiamata da attività

    oncreate();

    e utilizzare il codice di cui sopra, ci

    • ma dove onCreate() metodo??Sto scrivendo questo codice dopo
    • utente=(EditText)findViewById(R. id.editText1); pass=(EditText)findViewById(R. id.editText2);
    • ok dopo la linea di cui sopra, inserisci il tuo codice
    • L’ho fatto..ma non funziona..ho già aggiunto il mio codice dopo queste righe
    • stackoverflow.com/questions/4668210/…

Lascia un commento