页脚作为ListView上的项目之一。

时间:2014-01-20 22:56:53

标签: android android-listview baseadapter

我正在尝试为ListView实现页脚的效果,但不使用ListView的addFooterView方法。我的目的是将列表中最后一个可见项目视为固定页脚。在我看来,我可以通过检测列表中的最后一个可见项并动态更改它的布局来实现这一点。我做了一些研究,我认为我必须扩展BaseAdapter类提供两种类型的项目。一个用于列表中的普通项目,指示适配器应使用普通布局对项目进行充气。第二个指示适配器应该使用页脚布局来扩充当前项目。我想我必须覆盖onScroll方法来检测最后一个可见项目。这是我的问题。我应该使用getView方法调用onScroll方法吗?这是实现这种效果的正确方法吗?有可能吗?我会很感激任何建议。

提前感谢。

1 个答案:

答案 0 :(得分:0)

  

以下是我的问题。   我应该从onScroll方法调用getView方法吗?

不,你永远不应该直接调用getView()。只有延伸AbsListView的类才会调用getView

  

这是实现这种效果的正确方法吗?

没有。正确的方法是将addFooterView调用到ListView对象。

  

有可能吗?我会很感激任何建议。

不,这是不可能的。使用滚动侦听器,您将永远无法找到AbsListView何时请求“最后一个视图”。这是因为ListView不保证它查询视图的顺序。当您第一次设置适配器或调用notifyDataSetChanged时,这尤其正确,这导致ListView在多个点获取视图,以便能够布局和测量所需的内容。

建议使用addFooterView方法,这是正确的做法,这就是它存在的原因。