例如:我有一个带有日期的枚举。
如何将其值放入微调器?
答案 0 :(得分:59)
与其他答案类似,但您可以使用ArrayAdapter基于Enum类进行填充。我建议在Enum类中重写toString,以使微调器中填充的值更加用户友好。 在活动中:
Spinner mySpinner = (Spinner) findViewById(R.id.mySpinnerId);
mySpinner.setAdapter(new ArrayAdapter<MyEnum>(this, android.R.layout.simple_spinner_item, MyEnum.values()));
你的枚举课程:
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;
}
}
答案 1 :(得分:35)
某种演练正在使用:
Spinner mySpinner = (Spinner) findViewById(R.id.cmbClothType);
mySpinner.setAdapter(new ArrayAdapter<MyType>(this, android.R.layout.simple_list_item, MyType.values()));
答案 2 :(得分:0)
您可以像其他类一样在枚举类中重写toString函数,微调框将读取toString值。
例如。
enum class Duration(val value : String) {
DURATION_HINT("Duration Unit"),
DAY("Day"),
WEEK("Week"),
MONTH("Month");
override fun toString() : String {
return value
}
}