检索Enum的标签以形成List

时间:2017-03-12 06:06:25

标签: java android enums

我有一个名为CustomEnum的Enum类

public enum CustomEnum
{
    A("lbl1"),
    B("lbl2"),
    C("lbl3"),
    D("lbl4");

    private final String label;

    CustomEnum(String label)
    {
        this.label = label;
    }

    public String getLabel()
    {
        return label;
    }
}

我想创建一个包含Enum标签的列表,之后我将列表设置为ArrayAdapter Spinner,我就是这样做的:

List<CustomEnum> myList = Arrays.asList(CustomEnum.values());
ArrayAdapter adapterStation = new ArrayAdapter(getActivity(), android.R.layout.simple_spinner_dropdown_item, myList);

Spinner列表"A" "B" "C" "D"而不是"lbl1" "lbl2" "lbl3" "lbl4",如何做到这一点?

1 个答案:

答案 0 :(得分:1)

您必须检索标签并将他们存储在列表中。

List<String> myList = Arrays.stream(CustomEnum
.values())
.map(e -> e.getLabel())
.collect(Collectors.toList());

编辑:理想的方法是覆盖toString()以返回标签。