2011-12-15 46 views
1

我有以下代码: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,但没有页眉页脚。有任何想法吗? :○

回答

0

我认为你必须使用

setAdapter(adapter); 

,而不是

setListAdapter(adapter); 

试试看......希望工程..

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

+1

我输入“在我的ListActivity我打电话给oncreate:” – Maurice 2011-12-15 09:55:58

0

我不知道什么正在尝试做的..

但在我的情况下能正常工作,..

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

addHeaderView(header); 
addFooterView(footer); 
+0

我正在寻找替代品,以便我可以完全自定义列表视图。我知道上述的作品。 – Maurice 2011-12-15 10:14:25

+0

我认为,您正在尝试将相对布局添加为页眉和页脚,但是,您是否知道它的影响?那么R.layout.footer和R.layout.header有什么样的数据? – user370305 2011-12-15 10:16:51

0

我不知道为什么你想创建一个自定义像这样的ListView,只是看看教程约Header and Footer

这是更好地膨胀在ActivityHeaderFooterListActivity本身,然后只需添加到ListView

0

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