私は非常によくある問題に直面しています: アクティビティをレイアウトしたところ、この 内にいくつかの項目が表示されるはずScrollView
です。これを行う通常の方法は、既存の を使用し、ListAdapter
それを に接続するとListView
、アイテムのリストが表示されます。
しかし、スクロールを台無しにするため、ネストさListView
れた aを配置しないでください-AndroidScrollView
Lintでさえそれについて文句を言います。
だからここに私の質問があります:
をや類似ListAdapter
のものに接続するにはどうすればよいですか?LinearLayout
このソリューションは多くのアイテムに対応できないことはわかっていますが、私のリストは非常に短い (< 10 アイテム) ため、ビューの再利用は実際には必要ありません。パフォーマンスに関しては、すべてのビューを に直接配置しても問題ありませんLinearLayout
。
私が思いついた解決策の 1 つは、既存のアクティビティ レイアウトを の headerView セクションに配置することListView
です。しかし、これはこのメカニズムを悪用しているように感じるので、よりクリーンなソリューションを探しています。
アイデア?
更新:正しい方向性を刺激するために、サンプル レイアウトを追加して問題を示します。
<?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>
更新 2見出しを変更して、理解しやすくしました (反対票を獲得しました!)。