android - 多个微调器和 onItemSelected

标签 android events spinner

我有两个触发 onItemSelected 事件的微调器。问题是我怎么知道是哪一个触发了这样的事件?到目前为止,我尝试过:

 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) 
{

    Log.d("form","onitemselected");
    switch (view.getId()) {
    case R.id.region_spinner:
        Region r = (Region)sregions.getSelectedItem();
        Log.d("form","regionid:" + r.id);
        break;
    case R.id.state_spinner:
        Log.d("form","state id:");
        break;
    }

但是只显示了第一个Log,所以在switch中没有匹配到。

最佳答案

使用:

switch(parent.getId()) {
    ...
}

反而是你需要的。 您参数中的 view 是实际的“行”(即微调器项的单击子项),而父项是您所追求的实际“微调器”。

关于android - 多个微调器和 onItemSelected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5119196/

相关文章:

java - Google map .getMap() 已弃用

jquery - jquery 如何知道一个元素是否已经被点击

javascript - v-on 处理程序中出现错误 : "TypeError: Cannot read property ' emit' of null

android - 如何将微调器数据从一项 Activity 传递到另一项 Activity ?

java - 如何以这种特殊方式在 Android 中使用微调器?

android - 为什么服务在其进程被杀死后仍在运行?

java - 如何将 PNG 文件加载为 ARGB_8888,即使它们没有 alpha channel ?

android - 如何在约束布局中动态设置权重

javascript - 比较表单提交时的复选框选中状态与页面加载状态

java - 选择状态微调器后填充城市微调器