1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zzhoujay-AdvanceAdapter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 2.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 08:52 7216c07

AdvanceAdapter

Можно добавить Header и Footer для адаптации с RecyclerView Adapter.

  • Можно добавить несколько Header и несколько Footer.
  • Используется способ обернуть оригинальный Adapter, не нужно модифицировать оригинальный Adapter.
  • Синхронно с событиями изменения данных в дочернем Adapter.

Внимание:

При вызове getLayoutPosition() и getAdapterPosition() в ViewHolder дочернего Adapter будут включены добавленные внешние Header и Footer.

Если уже добавлен один Header, то при вызове метода getAdapterPosition() во ViewHolder дочернего адаптера будет возвращаться позиция элемента в дочернем адаптере +1. В этом случае можно использовать метод getHeaderSize() класса AdvanceAdapter для получения количества заголовков и вычесть его, чтобы получить правильную позицию.

Использование метода:

    NormalAdapter normalAdapter = new NormalAdapter(msgs);
    advanceAdapter = new AdvanceAdapter(normalAdapter);
    View header = getLayoutInflater().inflate(R.layout.header, null);
    View header2 = getLayoutInflater().inflate(R.layout.header2, null);
    View footer = getLayoutInflater().inflate(R.layout.footer, null);
    View footer2 = getLayoutInflater().inflate(R.layout.footer2, null);
    advanceAdapter.addHeader(header);
    advanceAdapter.addHeader(header2);
    advanceAdapter.addFooter(footer);
    advanceAdapter.addFooter(footer2);
    recyclerView.setAdapter(advanceAdapter);

Метод ссылки на gradle:

    compile 'zhou.widget:advanceadapter:1.0'

Эффект выполнения:

Демонстрационное изображение Демонстрационное изображение

by zzhoujay

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/zzhoujay-AdvanceAdapter.git
git@api.gitlife.ru:oschina-mirror/zzhoujay-AdvanceAdapter.git
oschina-mirror
zzhoujay-AdvanceAdapter
zzhoujay-AdvanceAdapter
master