例如:我有一个包含星期几的枚举。
我该如何将其值放入下拉框中?
我该如何将其值放入下拉框中?
类似于另一个答案,但是您可以使用ArrayAdapter根据枚举类进行填充。我建议在枚举类中覆盖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;
}
}
有某种类型的教程正在使用:
Spinner mySpinner = (Spinner) findViewById(R.id.cmbClothType);
mySpinner.setAdapter(new ArrayAdapter<MyType>(this, android.R.layout.simple_list_item, MyType.values()));
您可以像其他类一样覆盖枚举类中的toString函数,Spinner将读取toString值。
例如:
enum class Duration(val value : String) {
DURATION_HINT("Duration Unit"),
DAY("Day"),
WEEK("Week"),
MONTH("Month");
override fun toString() : String {
return value
}
}