Botão de alternância de vários estados

No aplicativo em que estou trabalhando, gostaria de ter um botão de alternância de estado múltiplo (no meu caso, três), em vez dos dois queToggleButton fornece. Eu tentei começar o meu próprio que se estendeButton, seguindo oCompoundButton fonte, mas honestamente a leitura sobre sua fonte ficou um pouco esmagadora.

Existe uma maneira de fazer um botão de alternância de três estados usando apenas um seletor xml ou algo assim, ou talvez outro método que eu não tenha pensado? Estou bastante sem saber como fazer isso.

questionAnswers(4)

yourAnswerToTheQuestion