Estou enfrentando um problema muito comum: criei uma atividade e agora descobri que ela deve exibir alguns itens dentro dela ScrollView. A maneira normal de fazer isso seria usar o existente ListAdapter, conectá-lo a um ListViewe BOOM eu teria minha lista de itens.
MAS você não deve colocar um aninhado ListViewem uma, ScrollViewpois isso atrapalha a rolagem - até o Android Lint reclama disso.
Então aqui está minha pergunta:
Como faço para conectar ListAdaptera a LinearLayoutou algo semelhante?
Eu sei que esta solução não escalará para muitos itens, mas minhas listas são muito curtas (<10 itens), portanto, a reutilização de visualizações não é realmente necessária. Em termos de desempenho, posso viver colocando todas as visualizações diretamente no LinearLayout.
Uma solução que encontrei seria colocar meu layout de atividade existente na seção headerView do ListView. Mas parece que estou abusando desse mecanismo, então estou procurando uma solução mais limpa.
Ideias?
ATUALIZAÇÃO: para inspirar a direção certa, adiciono um layout de amostra para mostrar meu 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>
ATUALIZAÇÃO 2 Mudei o título para torná-lo mais fácil de entender (recebi um downvote, doh!).