我通过我的应用程序录制了视频,并将其存储在存储卡中。
获取这些视频并添加到列表视图后。
根据屏幕尺寸,用户只能看到一个视频。
如果用户上下滚动并停止。
此时我想知道哪一个在用户面前。
如果有人知道解决方案,请帮助我。或其他任何方式
提前致谢
答案 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 ....
}
}