Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fully replace listView/GridView with RecyclerView?

I've noticed that the new RecyclerView class, even though it makes things a bit cleaner, is lacking a lot of functionality that I'm familiar with:

  1. dividers, but this can be solved by looking at this post or this one
  2. "footerDividersEnabled"
  3. "headerDividersEnabled"
  4. "listSelector" , but maybe I should simply set it per view ?
  5. "fastScrollEnabled"
  6. "smoothScrollbar"
  7. "textFilterEnabled"
  8. I've also tried to find out if there is a new way to use the new class with filtering (as done with ListView by implementing Filterable). I couldn't find out if there is such a thing
  9. "tools:listitem" , to show the items on the UI designer.

Those are what I use, but maybe there are others that I missed.

Is there any tutorial or some guidelines of how to replace each of those things?

like image 241
android developer Avatar asked Oct 19 '14 22:10

android developer


1 Answers

ok, I think I've found some solutions to what I wrote about:

  1. dividers - the links I've given can probably help (here, here and here).
  2. "footerDividersEnabled" - probably like #1, but even if you don't have it, you could always add a divider to the layout of the footer.
  3. "headerDividersEnabled" - same as #2.
  4. "listSelector" - should be done to the item views .
  5. "fastScrollEnabled" - no solution is available for this, except for this library I've found, which was an answer for my post here.
  6. "smoothScrollbar" - should be a feature request for #5. I think it's already smooth, but I'm not sure.
  7. "textFilterEnabled" - sadly, you need to handle it yourself. create a thread pool of size 1, or manage your own thread (or use AsyncTask, in case the work is relatively short), and let it do the filtering for you.
  8. Filterable - same as #7
  9. "tools:listitem" - not available, but I think you could extend from RecyclerView and add it. You will however have to put some work, as RecyclerView doesn't know how to layout the views.
like image 165
android developer Avatar answered Nov 10 '22 01:11

android developer