14

リストビューの上と下に表示する必要があるコンテンツがあるので、スクロールビューとリストビューを一緒に使用できる場合は、スクロールビューを使用すると便利です。それは最善の解決策ではないので、リストビューにフッターコンテンツを追加するためにいくつかのことを試みてきました.

ここで、下の写真は、最後の行として別の種類の行を追加するとどうなるかを示しています。コンテンツが行の幅を埋めることができません

代替テキスト

フッターに配置する必要があるボタンがいくつかあります。BaseAdapter を拡張するカスタム アダプターを使用しています。

addFooterView も使用してみましたが、独自のアダプターを実装している場合に addFooterView メソッドを使用する方法について混乱しています。カスタムアダプターにaddFooterViewを実装する方法の簡単な例は誰にもあります

また

この位置 (図に示すように) の行をより適切に表示する方法はありますか?このフッター行を作成するために使用しているコードは次のとおりです。

        View v = getLayoutInflater().inflate(R.layout.item_listview_footer, null);
        LinearLayout ll = (LinearLayout) v.findViewById(R.id.ll);
        return ll;  // return ll as convertView in getView function

編集:

ここに私のフッターレイアウトのxmlがあります

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:background="@drawable/red" android:orientation="vertical" android:id="@+id/ll">
    <Button android:id="@+id/specialInsButton" style="@style/button" android:text="Add Special Instructions" android:layout_width="fill_parent"/>
    <Button android:id="@+id/addToBagButton" style="@style/button" android:text="Add To Bag"/>
    <EditText android:id="@+id/quantity" style="@style/standard" android:text="1"/>
</LinearLayout>

スタイル/ボタンのxmlは次のとおりです

<style name="button">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">fill_parent</item>
        <item name="android:textSize">17px</item>
        <item name="android:textStyle">bold</item>
        <item name="android:typeface">sans</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_gravity">center</item>

    </style>

標準的なスタイル

 <style name="standard">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">wrap_content</item>
    </style>
4

1 に答える 1

52

カスタム アダプタで addFooterView を使用できます。listview.setAdapter() を呼び出す前に必ず addFooterView を呼び出してください。

View v = getLayoutInflater().inflate(R.layout.item_listview_footer, null);
listView.addFooterView(v);
listView.setAdapter(adapter);
于 2010-10-18T17:33:35.670 に答える