Урок 55. Header и Footer в списках. HeaderViewListAdapter

Обсуждение уроков
Ответить
Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Урок 55. Header и Footer в списках. HeaderViewListAdapter

Сообщение damager82 » 09 фев 2012, 03:00

В этом уроке:

- используем Header и Footer в списках
- разбираемся, как и где используется HeaderViewListAdapter

[url=http://www.startandroid.ru/ru/uroki/vse ... l:1qr3xpvr]Click here to read this article![/url:1qr3xpvr]
Последний раз редактировалось damager82 08 май 2017, 16:01, всего редактировалось 4 раза.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

lics
Сообщения: 10
Зарегистрирован: 03 фев 2012, 19:11

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение lics » 11 фев 2012, 22:25

А разве Header и Footer должны скролироваться вместе со списком ? По логике шапка не должна прокручиваться, в противном случае польза от нее сомнительна. С таким же успехом можно кинуть над списком TextView. Эффект вроде как будет аналогичным, разве что в HeaderViewListAdapter selectable отключить можно.
Или я что-то не так понял ?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение damager82 » 14 фев 2012, 16:54

lics писал(а):С таким же успехом можно кинуть над списком TextView. Эффект вроде как будет аналогичным
Если кинуть над списком TextView, то он не будет прокручиваться.
А Header прокручивается.

Клиент Twitter - пример реализации Header. Он там показывает, что идет загрузка данных.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

lics
Сообщения: 10
Зарегистрирован: 03 фев 2012, 19:11

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение lics » 14 фев 2012, 20:44

damager82 писал(а): Если кинуть над списком TextView, то он не будет прокручиваться.
А Header прокручивается.
Так как раз прокрутка и не нужна. Возможно если речь о списке, то это и не принципиально, прокручивается или нет, там фактически одна колонка, и так понятно что там за данные, но если данные представлены в виде таблицы, то шапка с наименованиями колонок должна стоять на месте, а не скролиться, ИМХО

maxim
Сообщения: 9
Зарегистрирован: 25 июн 2012, 09:31

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение maxim » 19 авг 2012, 14:18

Изображение
А как сделать такой ListView, как в стандартном меню настроек? Пункты "DEVICE", "PERSONAL". Ведь это наверно тоже заголовки.

Ervin
Сообщения: 5
Зарегистрирован: 30 сен 2012, 16:42
Откуда: Киев

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение Ervin » 04 окт 2012, 14:02

maxim писал(а):Изображение
А как сделать такой ListView, как в стандартном меню настроек? Пункты "DEVICE", "PERSONAL". Ведь это наверно тоже заголовки.
Это PreferenceActivity. Если писать настройки через <PreferenceScreen></PreferenceScreen> в xml то там будет возможность написать след

Код: Выделить всё

 <PreferenceCategory
                android:title="category name"> ...
</PreferenceCategory>

Eugene01
Сообщения: 1
Зарегистрирован: 21 фев 2013, 10:09

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение Eugene01 » 21 фев 2013, 10:15

lvMain = (ListView) findViewById(R.id.lvMain);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);

// ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
// здесь пропущена строка привязки Адаптера:
lvMain.setAdapter(adapter); // <--- вот эта.


// создаем Header и Footer
header1 = createHeader("header 1");
header2 = createHeader("header 2");

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение damager82 » 28 фев 2013, 13:33

Eugene01 писал(а):lvMain = (ListView) findViewById(R.id.lvMain);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);

// ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
// здесь пропущена строка привязки Адаптера:
lvMain.setAdapter(adapter); // <--- вот эта.


// создаем Header и Footer
header1 = createHeader("header 1");
header2 = createHeader("header 2");
Дальше читайте, там все есть )
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

vlas
Сообщения: 4
Зарегистрирован: 12 июн 2013, 19:38

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение vlas » 12 июн 2013, 19:41

Код: Выделить всё

View header = getLayoutInflater().inflate(R.layout.list_view_header, null);
listNotes.addHeaderView(header);
				
listNotes.setAdapter(adapter);
Вроде с кодом все так, но когда запускаю хедера 2, почему такое может быть?

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение anber » 12 июн 2013, 19:43

vlas писал(а):

Код: Выделить всё

View header = getLayoutInflater().inflate(R.layout.list_view_header, null);
listNotes.addHeaderView(header);
				
listNotes.setAdapter(adapter);
Вроде с кодом все так, но когда запускаю хедера 2, почему такое может быть?
Два хеадера? Поищи поиском в коде сколько раз метод "addHeaderView" вызывается?
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

vlas
Сообщения: 4
Зарегистрирован: 12 июн 2013, 19:38

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение vlas » 12 июн 2013, 20:00

Спасибо, сглупил немного, вынес все что связанно с заполнением ListView в отдельную функцию, а вызывать ее приходится в onCreate и onStart, что бы обновлялось, вот и не уследил

iandryxa
Сообщения: 58
Зарегистрирован: 23 янв 2014, 20:40

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение iandryxa » 01 мар 2014, 23:41

При нажатии на Test в myLogничего не выводится в чем может быть ошибка?

Stam
Сообщения: 1
Зарегистрирован: 14 апр 2014, 21:33

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение Stam » 16 апр 2014, 20:01

А как можно вставить в середину списка элемент типа "Вы можете знать этих людей", как в Facebook ?
И этот элемент еще можно прокручивать влево-вправо, поперек основного списка.
И каким образом можно смещать весь список влево или вправо ?
Как в Facebook, так чтоб получить доступ к навигации или к чату.
Это должна быть манипуляция с Activity или со списком ?

Gentrum
Сообщения: 3
Зарегистрирован: 28 янв 2014, 11:04

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение Gentrum » 22 май 2014, 11:24

Ребят, я может чего то не понимаю, но у меня с первой функции где сначала вызывается адаптер, а потом AddHeaderView, выскакивает хэдэр, и ошибки в логах нету, API пофиксили или я лажанул?

endid13
Сообщения: 16
Зарегистрирован: 26 сен 2014, 16:34

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение endid13 » 04 окт 2014, 15:08

Уважаемые господа, подскажите пожалуйста, как исключить header из обработки OnItemClickListener'a? При клике на него приложение выдает ошибку. Прописал

Код: Выделить всё

v.setClickable(false);
в createHeader, не помогает.

Аватара пользователя
Neustart
Сообщения: 6
Зарегистрирован: 20 фев 2015, 01:03

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение Neustart » 25 фев 2015, 01:17

Начиная с КитКата (Андроид 4.4.4) можно добавлять хедеры и футеры после установки адаптера.
https://developer.android.com/reference ... view.View)

Евгений Суханов
Сообщения: 12
Зарегистрирован: 15 мар 2015, 21:55

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение Евгений Суханов » 15 май 2015, 17:18

Приветствую всех! Подскажите пожалуйста, необходимо сделать подгрузку данных в лист. Снизу листа воспользовался footer с прогресс баром (получилось как задумал) хотел сделать такую же подгрузку (обновление) сверху с помощью header. И ничего толкового слепить не смог. Получается что лист прокручивается до header и происходит загрузка. Хотелось бы либо остановить скроллинг листа перед header либо может есть какой более гуманный способ?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapte

Сообщение Foenix » 15 май 2015, 19:24

выдумываешь ерунду какую-то. Подгрузка осуществляется по мере прокрутки, а обновление - пул-ту-рефреш
pull-to-refresh
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

mistercx
Сообщения: 3
Зарегистрирован: 22 мар 2020, 05:27

Re: Урок 55. Header и Footer в списках. HeaderViewListAdapter

Сообщение mistercx » 11 апр 2020, 20:50

Насколько я понял из кода урока после вызова метода:

Код: Выделить всё

lvMain.addHeaderView(header2, "some text for header 2", false);
на экране вместо "header 2" должно отображаться "some text for header 2". Почему этого не происходит?

Ответить