我从微调器中选择值,当我再次选择相同的值时,不会对单击执行任何操作.
解决方法
使用这个自定义Spinner类……
/** Spinner extension that calls onItemSelected even when the selection is the same as its prevIoUs value */ public class NDSpinner extends Spinner { public NDSpinner(Context context) { super(context); } public NDSpinner(Context context,AttributeSet attrs) { super(context,attrs); } public NDSpinner(Context context,AttributeSet attrs,int defStyle) { super(context,attrs,defStyle); } @Override public void setSelection(int position,boolean animate) { boolean sameSelected = position == getSelectedItemPosition(); super.setSelection(position,animate); if (sameSelected) { // Spinner does not call the OnItemSelectedListener if the same item is selected,so do it manually now getOnItemSelectedListener().onItemSelected(this,getSelectedView(),position,getSelectedItemId()); } } @Override public void setSelection(int position) { boolean sameSelected = position == getSelectedItemPosition(); super.setSelection(position); if (sameSelected) { // Spinner does not call the OnItemSelectedListener if the same item is selected,getSelectedItemId()); } } }