如何修复最后一个页脚(ListView)

时间:2016-03-07 07:21:41

标签: android listview footer

我有一个ListView,有两个页脚的视图。第一个是一堆TextView s,而第二个是按钮。我正在尝试修复第二个页脚,使其始终显示在屏幕的底部。

我尝试了以下内容:

1.  alignParentBottom = true

2.  layout_gravity="bottom"

3.  footerView2.bringToFront()

以上的组合。但他们都没有成功。我怎样才能做到这一点?

更新

我不应该将我一直想要的View添加到屏幕上(固定)作为页脚。

我刚刚使用listView添加了wannabe-fixed-view。是alignParentBottom = true还是view.bringToFront()。它对我有用。

3 个答案:

答案 0 :(得分:2)

分隔您的ListView和底部页脚。这个想法是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/btn_bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Bottom button"/>

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/btn_bottom"/>

</RelativeLayout>

答案 1 :(得分:0)

创建单独的xml文件,其中包含您想要作为页脚部分的所有textview和按钮。然后将此xml绑定为listview的页脚。你可以通过这种方法使用listview来binf页脚:listview.addFooterView(footerView);
例如:

View footerView = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE))
                .inflate(R.layout.listviewfooter, null, false);
        spDate = (Spinner) headerView.findViewById(R.id.spdate);
        llDatepicker = (LinearLayout) headerView.findViewById(R.id.lldatepicker);
        rvDatepicker = (RecyclerView) headerView.findViewById(R.id.rvdatepicker);
        rvTimepicker = (RecyclerView) headerView.findViewById(R.id.rvtimepicker);

              lvAddress.addFooterView(footerView);

答案 2 :(得分:0)

 void one_time_payment(string& plate_number, int cents) {
        std::list<LicenseTrip>:: iterator it;
        for (it = listLicense.begin(); (it != listLicense.end()) ; std::advance(it, 1)) {
            if (it->plate_number().compare(plate_number) == 0 && it->toll() <= cents)
                if (it->toll() <= cents) {
                    listLicense.erase(it);
                    break;  
                }
        }
    }