сетка просмотра получить элементы, которые видны пользователю - PullRequest
4 голосов
/ 03 ноября 2011

Я показываю изображения в виде сетки [около 100 изображений], и эти изображения обновляются через 10 секунд. Я хочу обновить только те изображения, которые видны пользователю. Как я могу получить только видимые элементы из вида сетки, поэтому я может ли сервер запросить только те изображения, которые видны пользователю?

Ответы [ 2 ]

8 голосов
/ 03 ноября 2011
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
}
3 голосов
/ 18 октября 2012

Вы можете просто позвонить: gridView.getFirstVisiblePosition () gridView.getLastVisiblePosition ()

Я сделал что-то в точности так, как ты хотел. Поэтому я использовал это, чтобы получить только те изображения, которые необходимы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...