How to build a single-choice RecyclerView

Here's how you can build a general purpose RecyclerView-based component that mimics a typical "radio group" component. This gives you a list of radiobuttons with one selection maximum. RadioAdapter.java public abstract class RadioAdapter<T> extends RecyclerView.Adapter<RadioAdapter.ViewHolder> { public int mSelectedItem = -1; public List…

What is Functional Reactive Programming?

Functional Reactive Programming offers a fresh perspective on solving modern programming problems. Once understood, it can greatly simplify your project, especially for code dealing with asynchronous events with nested callbacks, complex list filtering/transformation or timing concerns. I will strive to skip academic explanations of Functional Reactive Programming (there are…

Implementing Swipe to Refresh, a Material Design UI Pattern

One of the great ideas formalized in the new Material Design user interface guidelines is the Swipe to Refresh UI pattern. In fact, you’ve probably already seen and used the Swipe to Refresh pattern. It's found its way into many popular Android apps like Facebook, Google Newsstand, Trello, Gmail…

RxJava Koans - a Functional Reactive Programming learning tool

In my quest to attain an understanding of Functional Reactive Programming, especially as it relates to Java and android, i've started the rxjava-koans project. The project demonstrates how RxJava works with the goal of cultivating understanding through initially failing unit tests. Each file of the project shows a different principle…

octatrack tr-8 midi sequencing template

I made a template for the octatrack that sets up the octatrack's midi tracks to use 8 of the TR-8's instruments and also make use of it's Continuous Control mapping values. To use: set TR-8 MIDI in on channel 8. load the TR8_TEMPLATE up on your octatrack have fun…