Ограничить количество отображаемых изображений в сетке

Я хотел знать, есть ли способ ограничить количество изображений, отображаемых в gridview. Я создал сетку, и мне может потребоваться отобразить много изображений. Поэтому я хотел реализовать систему, которая по умолчанию отображает только 30 изображений, и для пользователя будет кнопка "Загрузить больше", чтобы загрузить больше содержимого в сетку. Но я немного заблудился здесь и понятия не имел, как продвигаться или что искать. Мне нужны некоторые указания по этому вопросу. Любые комментарии будут оценены. Заранее спасибо.

1 ответ

Решение

GridView использует BaseAdapter для получения своих элементов, поэтому, если вы хотите изменить отображаемую сумму, вам придется изменить ее в адаптере. Как это:

public class ImagePageAdapter extends BaseAdapter {
    private boolean loadAll = false;

    public void setTrue(){
         loadAll = true;
    }

    @Override
    public int getCount() {
     if(loadAll) return getAmount();
     return 30;
    }

    @Override
    public Object getItem(int position) {
       return null;
    }

    @Override
    public long getItemId(int position) {
      return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent){
        if(convertView == null) return getImage(position);
        else{
             //reuse convertview
        }
    }

Так что вам просто нужно вызвать setTrue() и позволить GridView теперь его перезагрузить.

Другие вопросы по тегам