在ListView中隐藏页脚

And*_*rew 5 android listview

当我的Activity加载时,我会为我用于页脚的布局文件充气.我将它附加到ListView(addFooterView),然后将其可见性设置为View.GONE.我保留了对它的引用,当我希望用户看到它时,我将可见性设置为View.VISIBLE.

在大多数情况下,这很有效.然而,页脚似乎仍占用空间.如果用户使用滚轮/打击垫,则页脚占用的区域会突出显示.我想更多地打磨它,以便页脚完全消失; 理想情况下,不要将其从ListView中分离出来.

这可能吗?或者我是否需要设置/取消设置脚而不是简单地切换其可见性?

dmo*_*mon 10

你可以用listView.removeFooterView(view).最简单的方法是创建一个实例变量来保存膨胀的页脚视图(因此您只需将其充气onCreate()).然后,只需调用listView.addFooterView(instanceFooter)listView.removeFooterView(instanceFooter)按需要.

编辑:这是我正在做的工作:

  1. 填充页脚布局 onCreate
  2. onResume:如果适配器尚未实例化,请调用addFooterView()THEN初始化您的适配器(保留对它的实例引用)并调用setAdapter().这将留下ListView"准备好"
  3. onResume:用数据更新适配器(我将数据放在一个单独的类中)并调用 notifyDatasetChanged()
  4. 调用removeFooterView()(如果显示它将隐藏它,否则不执行任何操作)
  5. addFooterView()如果需要显示页脚,则调用

  • 我觉得这不行.如果我没记错的话,你必须在设置适配器之前添加页脚才能显示它. (3认同)