2011-09-07 8 views
7

Ho un'attività che gli utenti digitano all'interno e quindi fare clic sul pulsante ok. Al termine, l'attività si chiude e torna alla vecchia attività ma la tastiera virtuale è ancora sullo schermo! Ho provato Android: windowSoftInputMode = "stateHidden" e getWindow(). SetSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);Come rimuovere la tastiera dopo aver terminato un'attività?

Ma non fa nulla.

Grazie

risposta

15

In OnPause della vostra attività, è necessario eseguire le seguenti operazioni

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(et.getWindowToken(), 0); 

Dove et è un'istanza del vostro EditText.

+0

Ho utilizzato questo approccio per implementare la mia "Attività di ricerca" all'interno di "Inizia attività per risultato" per nascondere la tastiera. Grazie! – Roman

+2

Ho una situazione simile in cui un'attività aperta da un SDK non chiude la tastiera al termine dell'attività. Finisco con una tastiera che copre metà della mia attività. Qualche idea su come liquidare la tastiera mostrata da un'attività diversa? – hitmaneidos

+1

Cosa succede se hai più EditText? come fai a sapere dal quale chiamare getWindowToken()? –

Problemi correlati