Android页眉和页脚未显示自定义ListView

时间:2011-12-15 09:33:08

标签: android listview

我有以下代码:

    public class RefreshView extends ListView { 

    private LayoutInflater inflater;
    private RelativeLayout mHeaderView;
    private RelativeLayout mFooterView;

    public RefreshView(Context context) {
        super(context);

        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        // Refresh view
        mHeaderView = (RelativeLayout) inflater.inflate(R.layout.header, this,
                true);
        addHeaderView(mHeaderView);

        mFooterView = (RelativeLayout) inflater.inflate(R.layout.footer, this,
                false);
        addFooterView(mFooterView, this, true);     
    }
}

这是我的main.xml

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

    <com.merry.more.RefreshView
        android:id="@+id/android:list"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
    />

</LinearLayout>

在我的ListActivity中,我在oncreate上调用它:

mListItems = new LinkedList<String>();
        mListItems.addAll(Arrays.asList(mStrings));

        adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, mListItems);
setListAdapter(adapter);

我看到了所有的listitems,但没有标题页脚。有任何想法吗? :○

4 个答案:

答案 0 :(得分:0)

我认为你必须使用

setAdapter(adapter); 

而不是

setListAdapter(adapter);

试试......希望它有效..

setListAdapter()不是您可以在Activity上调用的方法(它可以在ListActivity上使用,但您没有使用它)。您将不得不在布局中添加ListView(/ res / layout / passwordscreen),然后找到它并在其上调用setAdapter。

答案 1 :(得分:0)

我不知道该怎么做..

但在我的情况下,这很好用,..

 View header =  inflater.inflate(R.layout.header,null);
 View footer =  inflater.inflate(R.layout.footer,null);  

addHeaderView(header);
addFooterView(footer);

答案 2 :(得分:0)

我不知道您为什么要尝试创建这样的自定义ListView,只需查看关于Header and Footer的教程

最好在HeaderFooter本身中对ActivityListActivity进行充气,然后再添加到ListView

答案 3 :(得分:0)

如果我理解你想要的结构(稳定的标题 - 可滚动的列表 - 稳定的页脚)。在这种情况下,您需要不是ListView,而是LinearLayout,在那里添加标题,列表和页脚,并为所有这些提供LayoutParams