java - 从微调器选择中获取适配器或对象值

标签 java android spinner adapter

这是我的微调器设置:

 ArrayAdapter<SubCategory> dataAdapter = new ArrayAdapter<SubCategory>(AddLocationActivity.this,
                            android.R.layout.simple_spinner_item, scList);

    // populate spinner
    s = (Spinner) findViewById(R.id.subCatSpinner);
    s.setAdapter(dataAdapter);
    s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
             // WHAT DO I PUT HERE TO GET ID? 
            }


        });
    }

这是适配器填充的对象:

public class SubCategory {
    public String subcategory;
    public long subcat_id;

    public SubCategory(String subcategory, long subcat_id) {
        this.subcategory = subcategory;
        this.subcat_id = subcat_id;
    }

    public String toString() {
        return subcategory;
    }
}

它有两个属性:子类别及其 ID。

子类别可以很好地填充适配器,但我想在 spinne 上使用该选项时获取其 ID

最佳答案

您可以使用getItem()在适配器中,如下所示:

SubCategory sc = dataAdapter.getItem(position);

您还需要将 dataAdapter 声明标记为 final 才能正常工作。

关于java - 从微调器选择中获取适配器或对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24685466/

相关文章:

java - 从 java 运行 Bash 不起作用

android - native 代码调试在 Android Studio 3 中不起作用

java - Spinner setSelection() 不起作用

Android - 从动态创建的微调器中获取所选项目

android - 滚动时更改 UI 元素

php - Android 从 php/mysql 查询填充微调器

java - 如何将 html block 插入到 java servlet 中

java - 抽屉无法识别布局

java - java继承的概念..help

Android fragment 屏幕重叠