Ho seguito le varie domande e risposte qui per configurare la mia attività Android per sovrascrivere lo per eseguire la logica quando la tastiera virtuale si apre e si chiude. Ecco gli estratti rilevanti dal mio codice. Ho bollito giù al scenario più semplice:onConfigurationChanged() non attivo per la tastieraHidden
AndroidManifest.xml
...
<activity
android:name=".SearchActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation"
/>
...
SearchActivity.java
...
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Toast.makeText(this, "onConfigurationChanged()", Toast.LENGTH_SHORT).show();
}
...
Il codice qui sopra visualizzerà il Toast quando cambio l'orientamento , ma non fa nulla quando la tastiera virtuale si apre o si chiude. Ho provato ad aprire la tastiera virtuale tramite la messa a fuoco EditText e ad aprirla manualmente con una pressione prolungata sul pulsante menu. Non attivare la chiamata .
Quindi il codice sul posto sembra funzionare poiché il cambio di orientamento si attiva, ma non ottengo nulla per la tastiera virtuale. Qualche idea? Se la risposta è "onConfigurationChanged() non cattura gli eventi della tastiera software", qual è la soluzione appropriata per rilevare e gestire questo evento?
Nel caso sia pertinente, sto testando su un Droid X che esegue Gingerbread.
Ho un problema simile, hai finalmente finito? – Jacky