Introducing dividers
In order to introduce dividers into the claim overview screen, you'll need to run a second pass over the data being delivered from the Room database layer, and figure which items require a divider. This should be done on a background worker thread, so that larger datasets won't impact the user experience. Let's get to work and add some simple dividers to the travel claim app to appear between claim items made on different days; this will require some major changes to how the ClaimItemAdapter
class works. The most obvious change is that it will now have a List
of DisplayItem
objects instead of directly containing a List
of ClaimItem
objects.
Follow these steps to restructure the ClaimItemAdapter
to use DisplayItem
objects to mix both claim items and dividers in the RecyclerView
:
- First, you'll need a nice line that you can use as a divider. This will be a drawable that can be rendered using an
ImageView
widget. Right-click on theres/drawable
directory and selectNew|
Drawable...