Android - 如何获取 Spinner 中的所有项目?

Android - How to get all items in a Spinner?

如何获得微调器中的所有项目?

我在尝试搜索从 Spinner 中获取所有项目的方法时遇到了问题,但我无法找到一个优雅的解决方案。唯一的解决方案似乎是在将项目列表添加到 Spinner

之前存储项目列表

还有其他更好的方法吗?

一个简单而优雅的方法是,如果您知道微调器存储的对象类型:

public class User {

    private Integer id;

    private String name;

    /** Getters and Setters **/

    @Override
    public String toString() {
        return name;
    }
}

鉴于前面的 class 和包含 User 列表的 Spinner,您可以执行以下操作:

public List<User> retrieveAllItems(Spinner theSpinner) {
    Adapter adapter = theSpinner.getAdapter();
    int n = adapter.getCount();
    List<User> users = new ArrayList<User>(n);
    for (int i = 0; i < n; i++) {
        User user = (User) adapter.getItem(i);
        users.add(user);
    }
    return users;
}

这对我有帮助!我希望它能帮到你!