Есть ли способ добавить кнопку или что-нибудь под RecyclerView - PullRequest
0 голосов
/ 29 января 2020

RecyclerView должен изначально загружать n элементов, когда пользователь прокручивает его до нижней части, я хочу кнопку или любой другой вид в нижней части, чтобы пользователь мог щелкнуть по нему и метод, чтобы добавить n элементов.

Я новичок в android разработке приложений, и мне действительно нужна помощь, Спасибо.

Ответы [ 2 ]

0 голосов
/ 29 января 2020

То, что вы спрашиваете, - это, по сути, бесконечный скроллер-просмотрщик с представлением загрузчика внизу, которое принимает щелчок для загрузки дополнительных данных.

Вы должны использовать несколько viewType в RecyclerView.Adapter

Я рекомендую вам поискать больше, прежде чем задавать новый вопрос, так как есть множество учебных пособий по этому и другим подобным вопросам по stackOverflow. Вот ссылка на пример в стеке о том, как реализовать несколько viewTypes.

Я поделюсь некоторыми моментами об одном из способов достижения того, что вы ищете.

Сначала в вашем адаптере необходимо объявить две константы

private final int VIEW_ITEM = 0;  
private final int VIEW_LOADER = 1;

и boolean showLoadMore

создать метод publi c

public void showLoader(boolean status) {
    this.showLoadMore = status;
}

это можно использовать, чтобы показать / скрыть загрузчик от вашей активности

Вам нужно переопределить метод getItemCount(), чтобы вернуть правильное количество строк, так как он постоянно меняет базу на вашем загрузчике

@Override
public int getItemCount() {
    if (yourList.isEmpty()) {
        return 0;
    } else {
        if (showLoadMore)
            return yourList.size() + 1;
        else
            return yourList.size();
    }
}

Переопределить getItemViewType(int position), так как ваш загрузчик должен быть внизу, он должен

return (position == yourList.size() && showLoadMore) ? VIEW_LOAD : VIEW_ITEM;

Далее, как показано в ссылке, которой я поделился выше, вам нужно накачать свой макет в методе onCreateViewHolder и затем свяжите свой макет в методе onBindViewHolder на основе ваших viewTypes. Вы можете просто использовать условие if else, так как в этом случае есть только 2 типа просмотра.

Теперь в вашей деятельности после того, как вы установили Adapter в обзоре реселлера и извлекли набор данных n adapter.showLoader (true), чтобы показать представление загрузчика и notifyDataSetChanged(). Вы можете настроить отображение загрузчика так, чтобы он отображал индикатор выполнения или, если хотите, по щелчку выбрать следующий набор данных, если новый счетчик меньше требуемого количества count <= n, тогда задайте для адаптера значения showLoader(false) и adapter.notifyDataSetChanged(), что скроет ваш загрузчик. представление после добавления данных.

Надеюсь, что этот ответ вам каким-то образом поможет,

Между тем вот учебник из Интернета, реализующий бесконечную прокрутку с помощью повторного просмотра в другом виде

0 голосов
/ 29 января 2020

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


В соответствии с вашим пользовательским подходом добавления кнопки. Вы можете контролировать объем данных, отправляемых на адаптер в начале. Considering you have a server that will send data when requested with a tweak to send data in set of row. Добавить плавающую кнопку, которая отображается, когда пользователь достигает конца окна просмотра, эта кнопка запрашивает дополнительные данные с сервера и отправляет signal to adapter, что ваша переменная, содержащая данные, была обновлена. Таким образом, это добавит данные к вашему представлению, и вы сможете прокручивать их до тех пор, пока эти данные не закончатся.
  • Таким образом, вам необходимо спроектировать сервер для пользовательского запроса диапазона данных.
  • Переменная для сохранения отслеживается текущий диапазон данных.
  • Код для проверки окончания подачи данных RecyclerView.
  • функция для запроса дополнительных данных при нажатии кнопки и сигнального адаптера для обновления.

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

...