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

Ant*_*nio 8 android items spinner

如何获得Spinner中的所有项目?

我无法尝试搜索从a获取所有项目的方法,Spinner但我无法找到一个优雅的解决方案.唯一的解决方案似乎是在将项目列表添加到之前存储项目列表Spinner

还有另一种更好的方法吗?

Ant*_*nio 14

如果您知道微调器存储的对象类型,那么执行此操作的简单而优雅的方法是:

public class User {

    private Integer id;

    private String name;

    /** Getters and Setters **/

    @Override
    public String toString() {
        return name;
    }
}
Run Code Online (Sandbox Code Playgroud)

鉴于前一个类和一个Spinner包含列表的User您可以执行以下操作:

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;
}
Run Code Online (Sandbox Code Playgroud)

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