如果listview中没有项目,则ListView.addFooterView()不起作用

时间:2014-05-07 06:19:04

标签: android xml listview android-listview

我正在使用

向listview添加页脚
View footerview = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_social, null, false);            
listview_followers.addFooterView(footerview);

这是我在xml中的listview

<ListView
    android:id="@+id/listview_followers"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
</ListView>

footerview xml:

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

    <Button
        android:id="@+id/btnSend_social"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:background="@drawable/botao_bgg"
        android:text="SEND"
        android:textColor="#ffffff"
        android:textSize="20dp"
        android:textStyle="bold" />

</LinearLayout>
如果listview中有项目,则成功添加

footerview.xml。如果列表视图中没有项目,则也不会显示页脚视图。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

我不认为可以为空ListView添加页脚。虽然ListView可以使用空View,但ListView中没有项目时可以显示RelativeLayout empty = (RelativeLayout) getLayoutInflater().inflate( R.layout.empty_view, null); ((ViewGroup)list.getParent()).addView(empty); list.setAdapter(adapter); 。现在有两种方法可以做到这一点:

1

RelativeLayout empty = (RelativeLayout) getLayoutInflater().inflate(
           R.layout.empty_view,
           (ViewGroup) list.getParent());
list.setEmptyView(empty);

2

empty

此处View的类型为LinearLayout,因此它可以是RelativeLayoutLayoutInflater,可以在运行时使用{{1}}进行充值。

注意:确保在添加空视图后设置适配器。

希望它有所帮助。