2010-06-21 22 views
6

Ho un problema, voglio mostrare 20 elementi nell'elenco. Ma c'è un problema: se l'utente scorre verso il basso fino alla fine dell'elenco, ci sarà un elemento che dice: "Mostra più elementi", e quando gli utenti fanno clic su di esso, più elementi saranno aggiunti alla lista.Android: ListView, Ultimo elemento - Mostra altro

mia domanda è come è poosible di avere un ultimo elemento, che ha uno stile diverso e un aspetto diverso: e fa cose diverse, (credo che questo viene utilizzato in QuickSearchbox)

risposta

4

ti consiglierei commonsware 's cwac-endless.

CWAC-infinita: Fornisce il EndlessAdapter, un wrapper per un ListAdapter esistente che aggiunge capacità di "lista infinita". Quando i utente scorre fino alla parte inferiore della lista , se c'è più dati per questa lista da recuperare, il codice ottiene invocato in un thread in background per recuperare i nuovi file, che poi ottiene perfettamente attaccato al parte inferiore di l'elenco.

+0

Grazie mille per la risposta, avete qualche campione o qualsiasi pagina che possa aiutarmi, – Troj

+2

WTF? Macarse ti ha già fornito il link all'esempio: http://github.com/commonsguy/cwac-endless di cos'altro hai bisogno? – Cristian

+0

Sarebbe molto meglio descrivere alcune possibili soluzioni in uno snippet di codice piuttosto che inviare qualcuno ad una soluzione pronta. Non tutti vogliono implementare alcune soluzioni pronte che possono essere pesanti o con licenza. – Yar

0

Nel layout sotto il listview è possibile inserire un layout lineare con i pulsanti "Cancella" e "Ottieni più risultati". Non esattamente quello che stai chiedendo ma può ottenere lo stesso risultato.

1

Mentre il commonware ha alcune cose fantastiche. La sua infinita lib potrebbe non essere quello che vuoi. Quello che probabilmente vuoi è un footer. Sul tuo ListView, prima di impostare l'adattatore, chiama addFooterView. Nota che se lo fai, l'adattatore che ottieni da ListView.getAdapter non sarà lo stesso di quello che hai passato a ListView.setAdapter.

Modifica Parlando di commonware, vende alcuni libri sul suo sito. Comprali. Sono i migliori $ 40 che spenderete per la vostra educazione su Android.

+0

grazie, quindi suggerisci che dovrei usare un piè di pagina, hai qualche esempio anche su questo? – Troj

+1

Sicuro. Ne parlano e mostrano un esempio nel talk di Google I/O 2010 su ListView: http://code.google.com/events/io/2010/sessions/world-of-listview-android.html –

+0

Se non si Non voglio vedere il video (anche se dovresti), l'esempio è nel PDF. –

6

Se si desidera comunque un elemento selezionabile anziché un elenco a scorrimento infinito, è possibile provare a utilizzare ListView#addFooterView per aggiungere l'elemento "Mostra più elementi". Questo ti consente di aggiungere una vista come ultima voce in una lista. Assicurati di chiamarlo prima del chiamando il setAdapter.

+0

grazie mille, sai come posso aggiungere al footer un clicklistner. – Troj

+0

addFooterView richiede una vista. basta impostare onClickListener su quella vista. –