我有以下代码:
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 :(得分: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的教程
最好在Header
或Footer
本身中对Activity
和ListActivity
进行充气,然后再添加到ListView
。
答案 3 :(得分:0)
如果我理解你想要的结构(稳定的标题 - 可滚动的列表 - 稳定的页脚)。在这种情况下,您需要不是ListView
,而是LinearLayout
,在那里添加标题,列表和页脚,并为所有这些提供LayoutParams
。