Как полностью заменить listView / GridView с помощью RecyclerView?

Я заметил, что новый класс RecyclerView, даже если он делает вещи чище, не обладает большой функциональностью, с которой я знаком:

  1. Разделители, но это можно решить, посмотрев этот пост или этот
  2. "FooterDividersEnabled"
  3. "HeaderDividersEnabled"
  4. «ListSelector», но, может быть, я должен просто установить его для просмотра?
  5. "FastScrollEnabled"
  6. "SmoothScrollbar"
  7. "TextFilterEnabled"
  8. Я также попытался выяснить, есть ли новый способ использования нового класса с фильтрацией (как это делается с ListView путем реализации Filterable). Я не мог узнать, есть ли такая вещь
  9. «Tools: listitem», чтобы показать элементы в дизайнере пользовательского интерфейса.

Это то, что я использую, но, возможно, есть и другие, которых я пропустил.

Есть ли какой-либо учебник или некоторые рекомендации о том, как заменить каждую из этих вещей?

Solutions Collecting From Web of "Как полностью заменить listView / GridView с помощью RecyclerView?"

Хорошо, я думаю, что нашел некоторые решения для того, о чем я писал:

  1. Разделители – ссылки, которые я дал, возможно, помогут ( здесь , здесь и здесь ).
  2. «FooterDividersEnabled» – вероятно, как # 1, но даже если у вас его нет, вы всегда можете добавить разделитель в макет нижнего колонтитула.
  3. "HeaderDividersEnabled" – то же, что и # 2.
  4. «ListSelector» – должен быть сделан для просмотра элементов.
  5. «FastScrollEnabled» – для этого нет решения, кроме этой библиотеки, которую я нашел, что было ответом на мой пост здесь .
  6. «SmoothScrollbar» – должен быть запрос функции для # 5. Я думаю, что это уже гладко, но я не уверен.
  7. «TextFilterEnabled» – к сожалению, вам нужно самому справиться с этим. Создать пул потоков размером 1 или управлять собственным потоком (или использовать AsyncTask, если работа относительно короткая) и позволить ему выполнять фильтрацию для вас.
  8. Фильтрация – то же, что и # 7
  9. «Tools: listitem» – недоступно, но я думаю, что вы можете перейти от RecyclerView и добавить его. Однако вам придется выполнить какую-то работу, так как RecyclerView не знает, как развернуть представления.

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

Я бы порекомендовал вам взглянуть на некоторые библиотеки библиотеки RecyclerView. Вы можете найти много библиотеки на https://android-arsenal.com/ .

Также вы можете реализовать свои собственные функции в RecyclerView и Adapter for RecyclerView. Просто расширьте RecyclerView и опираясь на это.

Я рекомендую вам прочитать исходный код для RecyclerView по адресу https://android.googlesource.com/platform/frameworks/support/+/refs/heads/master/v7/recyclerview/src/android/support/v7/widget/ RecyclerView.java .