【问题标题】:ListView Only add enough items to fill screenListView 只添加足够的项目来填满屏幕
【发布时间】:2016-04-15 15:00:36
【问题描述】:

我有一个通过 RSS 提要填充的 listView。 ListView 上每个项目的高度可以根据内容的长度而变化。有没有办法只向 listView 添加足够的项目以填满屏幕(listView 具有固定高度)。

例如,如果每个项目只有一行文本,我可以容纳 7 个,但如果它们有两行文本,我只能容纳 5 个。我希望能够以编程方式决定何时停止添加项目。我不希望 ListView 必须滚动。

编辑

让我换个说法。我不想只是解决它,而是向下滚动。在开发过程中的某个时刻,可能会在屏幕下方添加内容并需要滚动,但即使在这种情况下,我也不希望在底部显示半个项目。基本上我不希望在底部显示损坏/半个项目,如果它在屏幕上,它应该是显示的整个项目。如果不是,它应该在屏幕底部下方。

【问题讨论】:

  • 如果你不想滚动View,那么不要使用ListView。那只是你不需要的开销。请改用垂直的LinearLayout
  • @MikeM。对不起,让我改述一下。我不想只是解决它,而是向下滚动。在开发过程中的某个时刻,可能会在屏幕下方添加内容并需要滚动,但即使在这种情况下,我也不希望在底部显示半个项目。基本上我不希望在底部显示损坏/半个项目,如果它在屏幕上,它应该是显示的整个项目。如果不是,它应该在屏幕底部下方。
  • 您正在为此使用 BaseAdapter 吗?
  • @SagarNayak 是的,它是一个扩展的自定义基本适配器

标签: android listview


【解决方案1】:

尝试使用正常的线性布局,并在添加膨胀的行时,覆盖 onMeasure 以了解它是否适​​合屏幕。

【讨论】:

  • 如果可能的话,我宁愿用 ListView 来做,但我知道如果我做不到,这是一个后备。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-02
  • 1970-01-01
  • 2015-09-20
相关资源
最近更新 更多