Sto sviluppando l'app, dove ho bisogno di visualizzare i suggerimenti in ListView e quando l'orientamento è cambiato voglio che quell'elenco sia nascosto. Ma appare comunque sullo schermo. Ho provato questo: 1) Ottieni l'adattatore della lista e cancellalo. 2) Imposta la visibilità GONE prima che l'orientamento sia cambiato (ma diventa visibile dopo onCreate) 3) Imposta la visibilità GONE in onCreate, ma l'elenco appare ancora sullo schermo (penso che forse Android salvi la vecchia lista, perché inizializzo la vista elenco di nuovo e sembra vuoto, ma la lista sullo schermo non lo è). Quindi, come posso sbarazzarmi della lista?Come NON salvare lo stato di visualizzazione in Android?
risposta
Invece di usare qualcosa di globale come Android: configChanges che riguardano tutti i punti di vista in attività, cosa sull'utilizzo del metodo setSaveEnabled (booleano) o sull'attributo xml equivalente android: saveEnabled?
Controlla se il salvataggio dello stato di questa vista è abilitato (ovvero se verrà chiamato il suo metodo onSaveInstanceState()).
Se lo si imposta su falso dovrebbe sempre tornare allo stato predefinito quando si cambia orientamento perché il suo stato non verrà salvato.
Si potrebbe, ad esempio, mettere questo nel file di layout:
<ListView
....
android:visibility="invisible"
android:saveEnabled="false">
</ListView>
e quindi impostare la visibilità visibile quando si inizia a digitare. Oppure, se preferisci, imposta la visibilità e il metodo setSaveEnabled nel metodo onCreate.
Ho provato con un semplice ListView e un pulsante che cambia la visibilità a true. Sulla rotazione ListView divenne invisibile (stato predefinito)
noti inoltre che:
Questo flag può disattivare solo il risparmio di questa vista; qualsiasi vista secondaria può ancora avere il proprio stato salvato.
così si dovrebbe avere per cancellare l'elenco durante onStop() o qualsiasi metodo che si desidera, ma se anche se non lo fai, il ListView sarà ancora invisibile sulla rotazione
Fonte:
@Override
protected void onSaveInstanceState(Bundle outState) {
}
ignorare questa funzione nella propria attività e non chiamare il metodo "super"!
o specificare l'orientamento nel manifesto:
<activity
android:name="com.blabla"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait" >
</activity>
sistema Android chiama il suo metodo di vostra actiivty sul cambiamento dell'orientamento del dispositivo onCreate(). Aggiungere configchanges alla tua voce di attività nel manifestare se non si desidera creare la vostra attività di nuovo sul cambiamento dell'orientamento
<activity
android:name=".MyActivity"
android:configChanges="keyboardHidden|orientation"
/>
- 1. MVP Android - Dove si salva lo stato di visualizzazione?
- 2. Come ripristinare lo stato di visualizzazione del frammento Android
- 3. Salvare lo stato di una WebView e ricaricare la posizione
- 4. Come salvare lo stato durante il cambio di orientamento in Android se lo stato è fatto delle mie classi?
- 5. Android: rileva lo stato di Non disturbare?
- 6. Come salvare lo stato di Fragment con listview
- 7. Come salvare lo stato del canvas in db?
- 8. Salvare lo stato WPF TreeView sui dati di ricarica
- 9. come ripristinare correttamente lo stato di visualizzazione dopo le rotazioni
- 10. sbagliato Classe stato - in attesa di un'eccezione stato di visualizzazione in Android 1.5 con visualizzazione personalizzata
- 11. Come salvare lo stato della pagina durante la chiusura
- 12. Come disabilitare lo stato di visualizzazione MAC a livello globale?
- 13. Dove salvare lo stato in un'app per iPhone
- 14. È possibile salvare lo stato dell'interprete Python in un file?
- 15. Salvare e ripristinare lo stato compresso di ExpandableListActivity con SimpleCursorTreeAdapter
- 16. Come verificare lo stato di visibilità di EditText in Android?
- 17. Metodo Java per salvare lo stato corrente di un programma
- 18. Android Frammento stato di visualizzazione all'interno di un host scheda
- 19. Come mostrare lo stato di "Caricamento" in Android?
- 20. Android, AsyncTask, controlla lo stato?
- 21. Android: Salvare uno stato di esempio, quando applicazione è chiusa
- 22. Salvare lo stack?
- 23. Salvare lo stato corrente dopo la funzione clic jquery
- 24. jsTree: come espandere tutti i nodi sulla prima visualizzazione e quindi salvare e ripristinare lo stato con il plugin 'cookies'
- 25. Android: propagazione dello stato genitore in visualizzazione figlio
- 26. Testo di notifica di visualizzazione nella barra di stato - Android
- 27. Android ListView personalizzato con ImageButton non ottiene lo stato attivo
- 28. Schede di navigazione Android: ripristino dello stato di visualizzazione dei frammenti
- 29. Come rilevare lo stato di alimentazione?
- 30. lo stato del collegamento dell'app Android non è definito
un'occhiata a [ 'View.setSaveEnabled (enab booleano led) '] (http://developer.android.com/reference/android/view/View.html#setSaveEnabled (booleano)) metodo –