我在网格视图中显示图像[大约100张图像],这些图像将在10秒后刷新。我想只刷新用户可见的图像。我只能从网格视图中获取可见项目,所以我可以请求服务器获取仅那些用户可见的图片吗?
答案 0 :(得分:8)
for(int i = 0; i < GridView.getChildCount(); i++) {
if(GridView.getChildAt(i).isVisible())
// do what you need
}
你应该考虑这是抽象的代码片段,只是用于解决问题的图解方法
编辑:我认为更好的方式:
for(int visiblePosition = GridView.getFirstVisiblePosition(); visiblePosition <= GridView.getLastVisiblePosition(); visiblePosition++) {
View view = GridView.getChildAt(visiblePosition);
// make something
}
答案 1 :(得分:3)
您可以致电: gridView.getFirstVisiblePosition() gridView.getLastVisiblePosition()
我做了一件你想做的事情。所以我用它来获取所需的图像。