android listview:页眉和页脚视图

时间:2010-01-07 01:33:10

标签: java android listview adapter

在我的ListActivity中,我需要页眉和页脚视图(在列表的顶部和底部)分别用作列表中的上一页和下一页按钮,因为我想一次只显示20个项目

通过执行以下操作来设置标题和英尺视图:

getListView().addHeaderView(myHeaderView);
getListView().addFooterView(myFooterView);
setListAdapter(adapter);

这很好用,但我需要动态删除并添加这些页眉和页脚视图,因为我列表中的某些页面可能没有下一页按钮或上一页按钮。

问题是,在调用setListAdapter之后,我无法调用addHeaderView或addFooterView。

有解决方法吗?

3 个答案:

答案 0 :(得分:10)

为什么不将页眉和页脚折叠到零高度,或者将按钮变灰(甚至更好)。

在我看来,最好的用户体验是在需要时(例如滚动时)动态加载更多项目,就像内置的Gmail应用程序一样。

答案 1 :(得分:3)

是的,这是ListView组件中的错误或疏忽。您可以通过编写自己的WrapperListAdapter处理添加和删除固定列表项来解决此问题,但我可以告诉您,这并不是一件容易的事。

或者 - 更容易 - 您可以在放置下一个和上一个按钮的ListView上方或下方添加固定组件。

答案 2 :(得分:2)

每次需要添加标题视图时,如何重置适配器,如下所示:

ListView.FixedViewInfo headerInfo = getListView().new FixedViewInfo();
headerInfo.isSelectable=false ;
headerInfo.view = feedInfoView;
headerInfos.add(headerInfo);
headerViewListAdapter = new HeaderViewListAdapter(headerInfos,null,adapter);
getListView().setAdapter(headerViewListAdapter);