我有一个使用SimpleAdapter创建的Gallery视图,它扩展了BaseAdapter。它包含的内容多于屏幕中的内容。
所以我使用Gallery.getFirstVisiblePosition()
和Gallery.getLastVisiblePosition()
来获取第一个和最后一个可见位置。但是这些函数并不总是返回正确的值,尤其是在通过调用mGallery.setSelection()
然后调用SimpleAdapter.notifyDataChanged()
来设置所选位置之后。大多数情况下,即使第一个元素不可见,getFirstVisiblePosition()
也会返回0。
另请注意,没有。 Gallery中的可见项目在纵向和横向模式下有所不同。 getFirstVisiblePosition()
返回的值在横向上看起来正确,但在纵向模式下返回错误。
任何人都有任何想法/想法?
谢谢!
答案 0 :(得分:3)
第一个可见位置仅在布局后更新。你不能调用notifyDatasetChanged()并立即获得第一个可见位置,你必须等待下一个布局传递。