Spinner : onItemSelected not called when selected item remains the same

后端 未结 10 700
不思量自难忘°
不思量自难忘° 2020-11-28 07:12

I have a OnItemSelectedListener for my Spinner, but it is not called when the selected item is the same as the previous one. Apparently the O

10条回答
  •  被撕碎了的回忆
    2020-11-28 07:51

    Here a little better implementation:

    public class SpinnerPlus extends Spinner {
        AdapterView.OnItemSelectedListener listener;
    
        public SpinnerPlus(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        @Override
        public void setSelection(int position) {
            super.setSelection(position);
            if (listener != null)
                listener.onItemSelected(this, getSelectedView(), position, 0);
        }
    
        public void setOnItemSelectedEvenIfUnchangedListener(
                AdapterView.OnItemSelectedListener listener) {
            this.listener = listener;
        }
    }
    

提交回复
热议问题