列表为空时,addHeaderView不起作用

时间:2013-12-10 09:57:53

标签: android xml android-listview

我正在使用以下布局(header.xml)在列表视图中添加标题

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/greetingContainer"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<TextView
    android:id="@+id/categoryTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="header view"
    android:textColor="#FFFFFF"
    android:textSize="15sp" />

</LinearLayout>

另一方面,我正在使用,

View header = (View) getLayoutInflater().inflate(R.layout.header,null);
getListView().addHeaderView(header);

当列表为空时它不起作用,保持不可见..

我的问题可能是this的副本,但无法理解,
请帮忙!

2 个答案:

答案 0 :(得分:3)

简单的解决方案,您需要做的就是始终为listview设置适配器,即使您没有要显示的数据。

答案 1 :(得分:1)

我使用了类似的标题视图,当listview中没有数据时它会很好。

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    view = inflater.inflate(R.layout.list, null);
    listView = (ListView) view.findViewById(R.id.listView1);

    if (listView.getHeaderViewsCount() == 0) {
        headerView = View.inflate(getActivity(), R.layout.listheader,     null);
        listView.addHeaderView(headerView, null, false);
    }
    return view;

}