getFirstVisiblePosition()在“库视图”中返回错误的值

时间:2010-08-16 17:14:47

标签: android listview

我有一个使用SimpleAdapter创建的Gallery视图,它扩展了BaseAdapter。它包含的内容多于屏幕中的内容。

所以我使用Gallery.getFirstVisiblePosition()Gallery.getLastVisiblePosition()来获取第一个和最后一个可见位置。但是这些函数并不总是返回正确的值,尤其是在通过调用mGallery.setSelection()然后调用SimpleAdapter.notifyDataChanged()来设置所选位置之后。大多数情况下,即使第一个元素不可见,getFirstVisiblePosition()也会返回0。

另请注意,没有。 Gallery中的可见项目在纵向和横向模式下有所不同。 getFirstVisiblePosition()返回的值在横向上看起来正确,但在纵向模式下返回错误。

任何人都有任何想法/想法?

谢谢!

1 个答案:

答案 0 :(得分:3)

第一个可见位置仅在布局后更新。你不能调用notifyDatasetChanged()并立即获得第一个可见位置,你必须等待下一个布局传递。