我的屏幕上有ListView。它滚动到顶部。我看到6排。当我记录getFirstVisiblePosition()和getLastVisiblePosition()时,它表示0和6。
getLastVisiblePosition()实际上是否返回了第一个不可见的位置?换句话说,我应该测试某个特定行是否在屏幕上
first <= row && row <= last
而是
first <= row && row < last
答案 0 :(得分:1)
好吧,在您的情况下,可能存在最后一个可见视图编号6的部分,实际上被检测为可见(可能只是一小部分出现在屏幕的底部)。但无论如何,如果它显示计数为7,为什么不配合呢?我的意思是无论你做什么,实际上都不会看到该行,加上视图已经绑定在适配器中,并且适配器中的getView方法不会再被调用。
第二个代码的另一个问题是,例如,当您只有一个视图时,第一个视图将为0,行将为0,最后一个将为0,并且您的条件将不会满足。不知道这对你有什么帮助,但仍然......