Stwórz swoją klasę przycisku i rozszerz klasę Button.
Zadbaj, aby w metodzie onClick oprócz wykonania onClick z klasy bazowej, Twoja klasa zmieniła stan ON => OFF => AUTO.
Chodzi o to, aby zawsze z danego stanu przeszła do kolejnego, oczekiwanego. Możesz to sobie zrobić za pomocą jakiejś listy lub zwykłego switcha.
No i następnie gdy zmieni stan, niech ustawi dla siebie (czyli buttona) setText na odpowiedni - według stanów. Tutaj też lista lub switch.
Zacznij pisać i wrzucaj kod, będzie łatwiej pomóc.
PS. Oczywiście pamiętaj aby zadeklarować stan początkowy (najlepiej w konstruktorze), czyli na przykład ON.