23

Ho un'attività con un menu di elementi in esecuzione sul lato sinistro che sono textViews. quando l'utente seleziona una delle visioni di testo, inserisce una lista nella parte restante dell'area dell'attività occupando gli altri 2 \ 3 dello schermo. quando l'utente tocca un testo diverso da quello del menu a sinistra della pagina, aprirà una lista corrispondente diversa di elementi.Vantaggio di ListFragment su un ListView o un normale frammento

stavo considerando di mettere una lista grande sullo schermo per questo scopo. tuttavia un altro modo invece di utilizzare un listView regolare nell'attività, potrei inserire un frammento di lista e passare da un frammento all'altro.

La terza scelta è inserire un frammento e inserire un listView all'interno di quel frammento. Non ho mai usato ListFragment prima.

quale sarebbe il piano migliore considerando che non ci sarà alcun cambiamento di orientamento? l'attività sarà bloccata nell'orientamento verticale/verticale. questo verrà eseguito su un tablet, non utilizzato su dispositivi più piccoli come i telefoni.

Non so se sarà necessario utilizzare i caricatori, perché l'elenco non sarà lungo e il contenuto dell'elenco sarà solo testo.

c'è qualche vantaggio nell'usare listFragment rispetto alle altre scelte?

Le tre scelte per questa attività:

  1. attività con ListView su di esso

  2. attività con ListFragment su di esso

  3. attività con frammento su di esso che ha ListView inside of the Fragment`

risposta

13

A ListFragment è un tipo leggermente specializzato Fragment che rende più semplice la gestione dipresente nel layout di Fragment offrendo alcuni metodi di comodità (come getListView() in modo da non dover cercare il widget da soli, un metodo per ottenere l'adattatore di ListView ecc.). Se è necessario un Fragment con un ListView, utilizzare un ListFragment. Quindi alla fine si tratta di decidere tra uno ListView e uno ListFragment.

Tra le due opzioni, prendendo in considerazione lo scenario, vorrei semplicemente utilizzare un ListView perché è semplice. La necessità di un Loader non è un problema in quanto è possibile utilizzare lo LoaderManager dello Activity per lo ListView.

Tuttavia, non hai menzionato come deve essere gestito il pulsante INDIETRO. Se si desidera offrire all'utente la possibilità di tornare indietro attraverso le sue scelte, utilizzare uno Listfragment per ottenerlo gratuitamente dal sistema.

+0

si dispone di codice legacy con opzione 3 sono i metodi di convenienza vale la pena di ri-factoring? – Martin

+1

@Martin Passare da un frammento contenente un elenco a un ListFragment non dovrebbe essere troppo difficile in primo luogo. Spetta a te, alla fine, non mi preoccuperei se ho già un frammento normale funzionante. – Luksprog

Problemi correlati