Ограничить количество отображаемых изображений в сетке
Я хотел знать, есть ли способ ограничить количество изображений, отображаемых в 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 теперь его перезагрузить.