Sto affrontando un problema molto comune: ho impostato un'attività e ora risulta che dovrebbe visualizzare alcuni elementi all'interno di questa ScrollView. Il modo normale per farlo sarebbe quello di utilizzare l'esistente ListAdapter, collegarlo a un ListViewe BOOM avrei il mio elenco di elementi.
MA non dovresti inserire un annidato ListViewin un ScrollViewperché rovina lo scorrimento - anche Android Lint se ne lamenta.
Quindi ecco la mia domanda:
Come collego ListAdaptera a LinearLayouto qualcosa di simile?
So che questa soluzione non scalerà per molti elementi, ma i miei elenchi sono molto brevi (<10 elementi), quindi il riutilizzo delle visualizzazioni non è realmente necessario. Dal punto di vista delle prestazioni posso convivere posizionando tutte le visualizzazioni direttamente nel file LinearLayout.
Una soluzione che ho escogitato sarebbe stata quella di posizionare il mio layout di attività esistente nella sezione headerView di ListView. Ma è come abusare di questo meccanismo, quindi sto cercando una soluzione più pulita.
Idee?
AGGIORNAMENTO: per ispirare la giusta direzione aggiungo un layout di esempio per mostrare il mio problema:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/news_detail_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:visibility="visible">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFF"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingLeft="@dimen/news_detail_layout_side_padding"
android:paddingRight="@dimen/news_detail_layout_side_padding"
android:paddingTop="@dimen/news_detail_layout_vertical_padding"
android:paddingBottom="@dimen/news_detail_layout_vertical_padding"
>
<TextView
android:id="@+id/news_detail_date"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center_horizontal"
android:text="LALALA"
android:textSize="@dimen/news_detail_date_height"
android:textColor="@color/font_black"
/>
<Gallery
android:id="@+id/news_detail_image"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:paddingTop="5dip"
android:paddingBottom="5dip"
/>
<TextView
android:id="@+id/news_detail_headline"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center_horizontal"
android:text="Some awesome headline"
android:textSize="@dimen/news_detail_headline_height"
android:textColor="@color/font_black"
android:paddingTop="@dimen/news_detail_headline_paddingTop"
android:paddingBottom="@dimen/news_detail_headline_paddingBottom"
/>
<TextView
android:id="@+id/news_detail_content"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="Here comes a lot of text so the scrollview is really needed."
android:textSize="@dimen/news_detail_content_height"
android:textColor="@color/font_black"
/>
<!---
HERE I NEED THE LIST OF ITEMS PROVIDED BY THE EXISTING ADAPTER.
They should be positioned at the end of the content, so making the scrollview smaller is not an option.
---->
</LinearLayout>
</ScrollView>
</LinearLayout>
AGGIORNAMENTO 2 Ho cambiato il titolo per renderlo più facile da capire (ho ricevuto un voto negativo, doh!).