Wrapping up the category picker
The category picker you created for the CaptureClaimActivity
is just a group of widgets in a card right now, and while it's one of the simplest cards to use on the screen, it's also one of the largest by the amount of code written for it. The best way to encapsulate this part of the screen is to move the layout that appears inside the CardView
into a Fragment
class.
However, why a Fragment
class, and why not write another Layout
class? Fragment
classes are self-contained systems, and have their own life cycle within the context of their parent Activity
. This means they can contain significantly more application logic, and can be reused more easily in other parts of the application. It's also because in this case, we rely on the IDs of the radio buttons to know what has been checked by the user, which means that we can very easily start polluting layouts with IDs specific to this specific widget. Fragment classes don't stop this from happening, but it's expected...