Search code examples
androideventsspinner

Multiple spinners and onItemSelected


I have two spinners that trigger the onItemSelected event. The question is How can I know which one triggered such event ? So far I tried:

 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;
    }

But only the first Log is displayed, so there's no match in the switch.


Solution

  • use:

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

    instead is what you need. The view in your parameter is the actual 'row' (i.e. the clicked child of spinner item), and the parent is the actual 'spinner' that you are after.