I need to get an item's position in spinner knowing it's ID. I've tried to do it with Spinner and SpinnerAdapter classes but there are no corresponding methods there.
Thanks,
Aleksander
Try this:
static final int getAdapterPositionById(final Adapter adapter, final long id) throws NoSuchElementException {
final int count = adapter.getCount();
for (int pos = 0; pos < count; pos++) {
if (id == adapter.getItemId(pos)) {
return pos;
}
}
throw new NoSuchElementException();
}
It's generic enough to work for any adapter type that supports ids (e.g., implements Adapter#getItemId(int position)
in a meaningful way)
Here's how I did it last night for the first time:
Spinner mySpn = (Spinner) findViewById(R.id.my_spinner);
String spnItem = (String) mySpn.getItemAtPosition(mySpn.getSelectedItemPosition());
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