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.
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.
Spinner is a subclass of AdapterView. The parent object passed into the method is the spinner in which the item was selected.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With