gpt4 book ai didi

android - 如何检查我的 ListView 是否有可滚动的项目数?

转载 作者:IT老高 更新时间:2023-10-28 23:33:58 27 4
gpt4 key购买 nike

您如何知道您的 ListView 是否有足够数量的项目以便它可以滚动?

例如,如果我的 ListView 上有 5 个项目,所有项目都将显示在一个屏幕上。但如果我有 7 个或更多,我的 ListView 开始滚动。我如何知道我的列表是否可以通过编程方式滚动?

最佳答案

当最后一个项目在屏幕上部分可见时,Diegosan 的答案无法区分。这是该问题的解决方案。

首先,ListView 必须先呈现在屏幕上,然后我们才能检查其内容是否可滚动。这可以通过 ViewTreeObserver 完成:

ViewTreeObserver observer = listView.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@Override
public void onGlobalLayout() {
if (willMyListScroll()) {
// Do something
}
}
});

这里是 willMyListScroll():

boolean willMyListScroll() {   
int pos = listView.getLastVisiblePosition();
if (listView.getChildAt(pos).getBottom() > listView.getHeight()) {
return true;
} else {
return false;
}
}

关于android - 如何检查我的 ListView 是否有可滚动的项目数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173369/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com