Android:两个 Spinner onItemSelected()

标签 android spinner listener android-spinner

我在一个 Activity 中有两个微调器(day_spin 和 time_spin)。我想将选定的 day_spin 值保存到变量中。是否可以区分同一 Listener 中的两个微调器?还是我必须为每个微调器编写自己的 Listener 类?

我还想获取所选项目的编号。例如,我有 6 个元素的字符串数组。我选择了数字 3。如何获取 id?

    day_spin = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter_day = ArrayAdapter
            .createFromResource(this, R.array.spinner_day_array,
                    android.R.layout.simple_spinner_item);
    adapter_day
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    day_spin.setAdapter(adapter_day);
    day_spin.setOnItemSelectedListener(this);

    time_spin = (Spinner) findViewById(R.id.spinner1);
    ArrayAdapter<CharSequence> adapter_time = ArrayAdapter
            .createFromResource(this, R.array.spinner_time_array,
                    android.R.layout.simple_spinner_item);
    adapter_time
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    time_spin.setAdapter(adapter_time);
    time_spin.setOnItemSelectedListener(this);

这是我的监听器:

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    DAY = parent.getItemAtPosition(pos).toString();
    TIME = parent.getItemAtPosition(pos).toString();
}

希望你能帮帮我!

最佳答案

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    if(parent.getId() == R.id.spinner1)
    {
      //do this                    
    }
    else if(parent.getId() == R.id.spinner2)
    {
      //do this
    }
}

关于Android:两个 Spinner onItemSelected(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9262871/

相关文章:

java - 将数字货币格式化为文本印度数字格式 Android

android - 自定义可扩展 ListView 添加按钮

android - 在下拉微调器上使用自定义项填充 arrayadapter

extjs - 监听 View Controller 之间的事件

java - ImageAdapter 没有封闭错误

forms - 有没有人实现jQuery Mobile Add(+/-)Button Number Incrementers?

java - 更改安卓 :textColor with a spinner

android - 正在调用 Textview onClick 而不是 Listview onItemClick。

java - 使用监听器的 ANTLR 4 解释器

android - 在 Android 应用程序启动时仅显示一次版本信息