如果列表中的项目多于当前可见的项目,我试图将快速滚动设置为启用并可见。设置适配器后,ListView的计数正确增加,但最后一个可见位置不正确。因此,我目前正在发布一个Runnable,等待ListView找出哪些项目不可见。代码如下:
listView.post(new Runnable(){
@Override
public void run() {
if(listView.getLastVisiblePosition() < (listView.getCount() - 1)){
listView.setFastScrollAlwaysVisible(true);
listView.setFastScrollEnabled(true);
}
}
});
此解决方案工作正常,但感觉有点hackish。有没有办法知道何时更新最后一个可见位置而不发布可运行的?提前谢谢!