16

ListFragmentの下部に、固定されて常に表示されるフッターをアタッチしようとしています。

私は現在このようにやっています:

@Override public void onActivityCreated(Bundle savedInstanceState) {

    // ...

    adapter = new MyAdapter(getActivity(), R.layout.list, dataList);

    ListView list = getListView();
    View footer = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_add, null, false);

    list.addFooterView(footer);
    setListAdapter(adapter);
}

このコードはリストの一番下にビューを生成しますが、実際には私が望むことをしません:

まず、フッターを修正する必要があります。つまり、リストがスクロールされている場所に関係なく、画面に表示されます。このソリューションでは、フッターは画面がリストの一番下までスクロールされたときにのみ表示されます。

次に、リストが空の場合でもフッターを表示する必要があります。このソリューションでは、リストが空の場合、フッターは表示されません。

固定フッター(私の場合はボタン)を常にListFragmentまたはListActivityの下に表示するための最良の方法は何ですか?

ありがとう!

4

1 に答える 1

42

これは、xmlレイアウトで実行できます。

<RelativeLayout>

    <Button android:id="@+id/footer" android:layout_alignParentBottom="true"/> 
    <ListView android:id="@android:id/list" android:layout_above="@id/footer"> <!-- the list -->

</RelativeLayout>

このレイアウトはonCreateView、フラグメントのメソッドで使用されます。

于 2012-09-10T14:40:10.620 に答える