Ho un'attività che utilizza le schede e le schede commutano i frammenti. Il problema è che il frammento impiega alcuni secondi a caricarsi durante la creazione, quindi le schede di commutazione hanno un ritardo di circa 1 o 2 secondi. Per risolvere questo problema, ho cercato di trovare un modo per visualizzare un semplice grafico di caricamento o anche una finestra di dialogo di avanzamento, in modo che la scheda cambi immediatamente e mostri qualcosa che indica che le cose si stanno caricando fino al completamento.La modifica delle schede è lenta/lenta - Uso dei frammenti
mio metodo del frammento onCreateView
assomiglia a questo:
FrameLayout fl;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
fl = (FrameLayout) inflater.inflate(R.layout.text_layout, container, false);
doHeavyStuff();
return fl;
}
Ho provato a mettere in doHeavyStuff()
onStart()
, ma che non ha aiutato nulla. E una discussione non aiuterà perché doHeavyStuff()
riguarda la manipolazione di viste/GUI.
Qualche idea su come posso visualizzare il frammento e visualizzare le informazioni di "caricamento" mentre carica tutto il resto?
Grazie!
Matt.
Sono solo gonfiare vista onCreateView() e che è anche lag. Quindi dovrei cambiare il codice di gonfiaggio come sopra per prestazioni migliori? – Husyn
Stai facendo qualcosa di diverso dal semplice gonfiamento della vista? come popolare le visualizzazioni ecc.,? In tal caso, dovresti fare la parte popula al di fuori di onCreateView() per evitare il laggy. – 500865
No Sto solo gonfiando la vista. return inflater.inflate (R.layout.setting_list_layout, container, false); è l'unica linea in onCreateView(); – Husyn