Android Spinner: Get the selected item change event

前端 未结 16 2367
挽巷
挽巷 2020-11-22 16:47

How can you set the event listener for a Spinner when the selected item changes?

Basically what I am trying to do is something similar to this:

spinn         


        
16条回答
  •  臣服心动
    2020-11-22 17:49

    It doesn't matter will you set OnItemSelectedListener in onCreate or onStart - it will still be called during of Activity creation or start (respectively).
    So we can set it in onCreate (and NOT in onStart!).
    Just add a flag to figure out first initialisation:

    private Spinner mSpinner;
    private boolean mSpinnerInitialized;
    

    then in onCreate (or onCreateView) just:

    mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                public void onItemSelected(AdapterView adapterView, View view, int i, long l) {
                    if (!mSpinnerInitialized) {
                        mSpinnerInitialized = true;
                        return;
                    }
    
                    // do stuff
                }
    
                public void onNothingSelected(AdapterView adapterView) {
                    return;
                }
            });
    

提交回复
热议问题