For example: I have an enum with days.
How do I put its values into spinner ?
For example: I have an enum with days.
How do I put its values into spinner ?
Similar to another answer, but you can use an ArrayAdapter to populate based on an Enum class. I would recommend overriding toString in the Enum class to make the values populated in the spinner more user friendly. In the activity:
Spinner mySpinner = (Spinner) findViewById(R.id.mySpinnerId);
mySpinner.setAdapter(new ArrayAdapter<MyEnum>(this, android.R.layout.simple_spinner_item, MyEnum.values()));
Your enum class:
public enum MyEnum{
ENUM1("Enum 1"),
ENUM2("Enum 2");
private String friendlyName;
private MyEnum(String friendlyName){
this.friendlyName = friendlyName;
}
@Override public String toString(){
return friendlyName;
}
}
You can override the toString function in the enum class like other classes and the spinner will read the toString value.
For Ex.
enum class Duration(val value : String) {
DURATION_HINT("Duration Unit"),
DAY("Day"),
WEEK("Week"),
MONTH("Month");
override fun toString() : String {
return value
}
}