user376244 user376244 - 7 months ago 66
Android Question

How to update an Spinner dynamically correctly?

I have a spinner with a custom adapter displaying objects from a database.
When the object list changed I create a new adapter with the List and apply it on the spinner. Afterwards the first item is selected, so I tried this:

// 5th item selected
int pos = spinner.getSelectedItemPosition();
// 0th item selected
// 5th item is selected

But the GUI does still show the first item?

did not help.

Is this the correct way to achieve what I want? I really could not find any information on this behavior.


Solved: I guess the main problem was the custom spinner adapter. This works fine now

if (spinner.getCount() > 0) {
    pos = spinner.getSelectedItemPosition();
MySpinnerAdapter adapter = new MySpinnerAdapter(context, myNewObjects);
spinner.setSelection(pos); // needed