我的 ListView
(使用 CursorAdapte
r)有问题。当我调用 getListView().getLastVisiblePosition()
时,我收到了 -1
。这是一个问题,因为我的列表中填充了项目。此外,getListView().getFirstVisiblePosition()
始终返回 0,无论我滚动到列表的哪个位置。有什么想法吗?
跟startManagingCursor有关系
@Override
public void changeCursor(Cursor cursor) {
super.changeCursor(cursor);
MyActivity.this.mCursor = cursor;
//startManagingCursor(MyActivity.this.mCursor);
}
如果我注释掉 startManagingCursor,一切正常。我还尝试在更改 Cursor
之前添加 stopManagingCursor()
并且仍然遇到同样的问题。
最佳答案
这是因为当您调用 getListView().getLastVisiblePosition() 时, ListView 并未呈现。您可以像这样将调用添加到 View 的消息队列中:
listview.post(new Runnable() {
public void run() {
listview.getLastVisiblePosition();
}
});
关于android - getLastVisiblePosition 返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4036676/