Я считаю, что решение SimpleCoder является подходящим. В качестве альтернативы, если вы хотите использовать одно менее логическое значение (но еще одно бизнес-правило, скрытое в вашем представлении), вы можете использовать свойство tag
любого View
для хранения чего-либо.
Псевдо-код:
if (mFavoriteFab.tag == null) {
mFavoriteFab.tag = "" // no longer null
// set drawable 1
} else {
mFavoriteFab.tag = null
// set drawable 1
}
Вы не экономите много памяти, и это не обязательно более ясно (я настаиваю, чтобы это «решение» (if
) не входило в ваш код Activity / Fragment / View, но все же, для чего-то столь же простого, как это, вы можете уйти с любого подобного подхода.