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