public
enum
ButtonState {
ZERO(R.drawable.one),
ONE(R.drwable.two);
@DrawableRes
private
final
int
drawableRes;
public
ButtonState(
int
drawableRes) {
this
.drawableRes = drawableRes;
}
public
int
getDrawableRes() {
return
this
.drawableRes;
}
public
static
ButtonState of(
int
value) {
switch
(value) {
case
0
:
return
ZERO;
case
1
:
return
ONE;
default
:
throw
IllegalArgumentException(
"Incorrect state:"
+ value);
}
}
}
int
myVarilable = ...
try
{
changeButtonBackground(ButtonState.of(myVariable))
}
catch
(IllegalArgumentException e) {
}
private
void
changeButtonBackground(ButtonState buttonSate) {
myButton.setBackground(buttonSate.getDrawableRes());
}
enum
class
ButtonState(
@DrawableRes
val drawableRes: Int) {
ONE(R.drawable.one),
TWO(R.drawable.two);
companion object {
fun of(value: Int): ButtonState {
return
when (value) {
0
-> ONE
1
-> TWO
else
throw
IllegalArgumentException(
"Incorrect state: $value"
)
}
}
}
}
val myValue: Int = ...
try
{
changeButtonBackground(ButtonState.of(myValue))
}
catch
(e: IllegalArgumentException) {
}
private
fun changeButtonBackground(buttonSate: ButtonState) {
myButton.background = buttonSate.drawableRes
}