2011-12-29 12 views
8

C'è un modo per aggiungere un viewpager come un oggetto listview?ViewPager all'interno di ListView

Voglio aggiungerlo come "intestazione" in cima alla mia lista prima di seguire tutte le voci dell'elenco reale. Ho provato ad utilizzare addHeaderView() o dichiarare più tipi di visualizzazione nel mio list adapter, tuttavia, il viewpager non si presenta mai in alcun modo.

Qualcuno ha fatto qualcosa di simile? Aiuto!

+0

Sarebbe stato utile includere il codice di layout originale. – Dallas

risposta

1

Citando Dianne Hackborn, ViewPager è "semplicemente non destinato ad essere utilizzato come elemento di un elenco"

+0

L'ho letto, ma ho scoperto che ViewPager non supporta wrap_content e questo è il motivo per cui non viene visualizzato. Se imposto esplicitamente larghezza/altezza nei parametri di layout, allora funziona. Non voglio che ogni elemento della lista sia un viewpager, solo l'intestazione "top" in alto mentre lo uso per un tipo di visualizzazione "gallery" per gli articoli promossi. – dnkoutso

+2

@dnkoutso: Ms. Hackborn è uno dei principali ingegneri di Android. Potrebbe anche aver scritto 'ViewPager'. Ti suggerisco umilmente di trovare qualche altra soluzione. Ad esempio, potresti usare 'Galleria' per una galleria. Oppure usa 'HorizontalScrollView'. Mettere le cose scorrevoli nelle cose scorrevoli è stato storicamente fastidioso, ma se un googler ti porta via da una soluzione, ti consigliamo di onorare il suggerimento. – CommonsWare

+0

La galleria è un vecchio widget non adatto alle mie esigenze. Al momento utilizzo ViewFlipper che fa bene il lavoro, ma preferirei la levigatezza e la funzionalità di un ViewPager. Capisco la preoccupazione di combinare i due, ma non vedo un problema con esso purché io specifichi le dimensioni che voglio che sia il viewpager. so chi è Dianne :) – dnkoutso

12

Non utilizzare wrap_content, cercare di calcolare e impostare la dimensione ViewPager di programmazione e quindi aggiungere ViewPager come intestazione di ListView.

+0

anche questo dà risultati scadenti –

+0

Sì, in questo modo funziona. Non so perché non ha funzionato per @ RafaSanches – Sufian

Problemi correlati