Поместите значения ENUM в Android Spinner?

Я понимаю, что это действительно старая тема, но поскольку мой стандартный подход еще не здесь, я решил опубликовать его для будущих googlers.

var a, b, abort = false;
for (a = 0; a < 10 && !abort; a++) {
    for (b = 0; b < 10 && !abort; b++) {
        if (condition) {
            doSomeThing();
            abort = true;
        }
    }
}
29
задан A-Sharabiani 5 October 2016 в 04:14
поделиться

2 ответа

Какой-то тип прохождения использует:

Spinner mySpinner = (Spinner) findViewById(R.id.cmbClothType);
mySpinner.setAdapter(new ArrayAdapter<MyType>(this, android.R.layout.simple_list_item, MyType.values()));
35
ответ дан dnet 5 October 2016 в 04:14
поделиться

Аналогично другому ответу, но вы можете использовать ArrayAdapter для заполнения на основе класса Enum. Я бы порекомендовал переопределить toString в классе Enum, чтобы значения, заполненные в счетчике, были более удобными для пользователя. В задании:

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;
    }
}
59
ответ дан Adam 5 October 2016 в 04:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: