如何知道哪个列表项对用户可见?

时间:2013-07-19 09:51:37

标签: android listview

我通过我的应用程序录制了视频,并将其存储在存储卡中。

获取这些视频并添加到列表视图后。

根据屏幕尺寸,用户只能看到一个视频。

如果用户上下滚动并停止。

此时我想知道哪一个在用户面前。

如果有人知道解决方案,请帮助我。或其他任何方式

提前致谢

4 个答案:

答案 0 :(得分:11)

好的,有两种方法可以帮到你。

ListView.getFirstVisiblePosition()
ListView.getLastVisiblePosition()

查看this page了解详情。

答案 1 :(得分:0)

如果您使用适配器填充列表, 最后一个可见项目将会弹出您最新的getView

意思是,如果您要跟踪最新的Position - 您将存储最后一个可见项目的位置。

答案 2 :(得分:0)

鉴于Marek Sebera的评论 - getView确实不会100%可靠,你可以在适配器中使用getFirstVisiblePosition

(如果一次只能看到一个视频,那就足够了。)

答案 3 :(得分:0)

由于您只显示了一个列表项,因此您可以在Adapter类中创建一个函数,该函数将为您提供当前可见子项的ID。像

公共类MyAdapter扩展BaseAdapter {     int slectedChild; // selectedChild将保存当前可见的子ID

  

public int getSelectedChild(){//此函数将返回当前可见子项的id        return selectedChild;
  }

     

// public View getView(int position,View convertView,ViewGroup container)
  {

     

selectedChild =位置; //在side getView()函数中更新值selectedChild   ....
  }
  }