Android ListView:获取可见项的数据索引

Che*_*mon 34 android listview

ListView创建了一个Android ,SimpleAdapter其中包含的项目多于屏幕中的项目.滚动列表后,我需要获取列表中第一个可见项的数据模型中的位置.

基本上我想要一个像:listView.getChildAt(0).getPositionInDataModel().

Adapter它有一些功能getItemId(position),看起来很有用; 但是,SimpleAdapter实现只返回传入的位置,而不是像我希望的那样的行ID.

一个强力解决方案是在索引0处获取View,并将其与适配器中每个项目的视图进行比较.但是,似乎没有一种简单的方法可以从适配器获取特定位置的视图.

有人有什么想法?

Rom*_*Guy 90

这很容易.只是用ListView.getFirstVisiblePosition() + indexYouWant.例如,要获得显示在第二个子项的适配器中的位置ListView,只需使用getFirstVisiblePosition() + 1.

不需要上面回复中显示的所有可怕的东西:)

  • 哇,我简直不敢相信.我正在寻找一个像这样的功能.一定是因为它是在我没想到的父类中定义的.仍然习惯这种javadoc风格...感谢您指出! (2认同)