Have you ever tried to implement all those fancy features seen in Google applications like: Swipe To Delete, Grouped lists with Expand Collapse features?
Have you ever needed to implement RecyclerView Header or Footer quickly ?
Maybe you have accomplished those tasks but you are one of #MvvmCross-fanatic (as I am 🙂 ) – and you are angry at the lack of data bindings..?
If you have said “yes” at least once during reading those questions I am coming with solution to your problems with my new library… MvvmCross.AdvancedRecyclerView !
MvvmCross.AdvancedRecyclerView is an AdvancedRecyclerView Mvx wrapper. It adds MvvmCross-style data bindings to AdvancedRecyclerView – a library which implements inter alia: high performance Expandable Grouped Lists, Swipe-To-Delete, Header and Footer RecyclerView support.
Besides MvvmCross support package I have published bindings library for AdvancedRecyclerView.
Just check this awesome library in action: https://github.com/h6ah4i/android-advancedrecyclerview – preview video available. Thanks Haruki Hasegawa !
Check documentation I have created today and feel free to type:
Install-Package Xamarin.Bindings.AdvancedRecyclerView (if you plan to use pure library without MvvmCross bindings)
in your NuGet Package Manager Console 😉
… by the way – full story of MvvmCross grouping support 🙂
Some of you might remember my attempt/implementation of Grouping in MvvmCross RecyclerView support package which got to the official nuget channel.
I have even presented it on Xamarines – ..but well as it was my first public presentation I personally think I have failed there as well – buried with stress 🙂
No worries though – I am getting better 😀 … and I think I have solved Xamarin.Android grouped lists problem as well now 🙂
The things is – I have made biggest mistake software developer can make. Tried to be smarter than others and I tried to reimplement the wheel.
During testing it brought a lot of bugs, performance was not sufficient – therefore it had to be removed for a while – turns out implementing grouping is a really difficult task. Instead of trying to fix it at the all cost I decide to seek smarter way of doing grouping.
I recalled that I have used and even published some Pull Requests to library which implemented expandable lists (AdvancedRecyclerView). I looked at this library Java Code once again and it was pretty complex. Instead of coding all the logic in Xamarin – I decided to just create MvvmCross bindings around this java library. It wasn’t as easy as I thought though.
Lesson learned – if you plan to implement some pretty complex feature look at similar, open source code – if it looks difficult, try to take as much as possible from other people work (IF LICENSE ALLOWS THAT, I don’t want to visit my readers in jail 😀)
Thanks once again to InsaneLab – my developer home for giving me time to work on this awesome project!