How to update an Spinner dynamically correctly?

前端 未结 3 847
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-18 09:09

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. Aft

相关标签:
3条回答
  • 2020-12-18 09:20
    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    
            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
    
                spinner.setSelectedItem(5);
            }
    
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub
    
            }
        });
    
    0 讨论(0)
  • 2020-12-18 09:36

    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.setAdapter(adapter);
    spinner.setSelection(pos); // needed
    adapter.notifyDataSetChanged();
    
    0 讨论(0)
  • 2020-12-18 09:41

    Did u tried notifydatasetChanged() or notifydatasetInvalidate() method of adapter.

    newAdapter.notifydatasetChanged()
    
    0 讨论(0)
提交回复
热议问题