【发布时间】:2014-03-25 17:50:33
【问题描述】:
有没有一种优雅的方式来询问 ListView 屏幕上当前有多少列表项?
或者反过来:是否可以告诉 ListView 使其列表项(通过增加它们的高度)大到恰好 n 个项目适合屏幕?在我的例子中,列表项是简单的 TextViews。
【问题讨论】:
标签: java android listview textview height
有没有一种优雅的方式来询问 ListView 屏幕上当前有多少列表项?
或者反过来:是否可以告诉 ListView 使其列表项(通过增加它们的高度)大到恰好 n 个项目适合屏幕?在我的例子中,列表项是简单的 TextViews。
【问题讨论】:
标签: java android listview textview height
您可以使用list.getLastVisiblePosition() 并减去list.getFirstVisiblePosition()
int count = list.getLastVisiblePosition() - list.getFirstVisiblePosition();
希望对你有帮助
【讨论】:
最简单的方法是获取您的ListView 高度并创建您自己的视图,并将其测量为listView.getHeight()/N(其中 n 是您希望一次在屏幕上显示的视图数)。
【讨论】:
getView 方法中尝试了textView.setHeight(parent.getHeight() / n);。但这不能正常工作。也许我必须考虑分隔符? TextViews 略高。
getHeight()。
textView.setHeight((parent.getHeight() / numberOfItems) - 2); 对我来说效果很好,但也许有一种方法可以直接访问这些行的高度。