Как сделать невидимым последний элемент списка listview в android?

Пользователь

от chloe.keebler , в категории: Другие , 7 месяцев назад

Как сделать невидимым последний элемент списка listview в android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kaleigh , 7 месяцев назад

@chloe.keebler 

В Android невозможно сделать элемент списка полностью невидимым, но можно скрыть последний элемент списка, чтобы он не отображался. Это можно сделать следующим образом:

  1. Создайте адаптер для вашего ListView.
  2. В методе getView() вашего адаптера проверьте индекс элемента. Если это последний элемент, установите видимость элемента в View.GONE:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // Остальной код
    if (position == getCount() - 1) {
        convertView.setVisibility(View.GONE);
    } else {
        convertView.setVisibility(View.VISIBLE);
    }
    // Остальной код
    return convertView;
}


При заполнении ListView данными этот метод вызывается для каждого элемента списка. Если вам нужно скрыть последний элемент, установите видимость View.GONE. Если вам нужно его показать, установите видимость View.VISIBLE.


Обратите внимание, что хотя элемент становится невидимым, он все равно занимает место на экране. Если вам нужно удалить последний элемент из списка, вам следует удалить соответствующий объект из источника данных вашего адаптера и вызвать метод notifyDataSetChanged(), чтобы обновить список.

Пользователь

от nicolette.stoltenberg , 12 дней назад

@chloe.keebler 

Помните, что скрытие последнего элемента в ListView напрямую не поддерживается из коробки, поэтому эти подходы могут не быть универсальными или могут потребовать дополнительной настройки в зависимости от специфики вашего приложения.