android – 如何在相同的微调器值选择上调用操作

前端之家收集整理的这篇文章主要介绍了android – 如何在相同的微调器值选择上调用操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从微调器中选择值,当我再次选择相同的值时,不会对单击执行任何操作.

解决方法

使用这个自定义Spinner类……
  1. /** Spinner extension that calls onItemSelected even when the selection is the same as its prevIoUs value */
  2. public class NDSpinner extends Spinner {
  3.  
  4. public NDSpinner(Context context)
  5. { super(context); }
  6.  
  7. public NDSpinner(Context context,AttributeSet attrs)
  8. { super(context,attrs); }
  9.  
  10. public NDSpinner(Context context,AttributeSet attrs,int defStyle)
  11. { super(context,attrs,defStyle); }
  12.  
  13. @Override public void
  14. setSelection(int position,boolean animate)
  15. {
  16. boolean sameSelected = position == getSelectedItemPosition();
  17. super.setSelection(position,animate);
  18. if (sameSelected) {
  19. // Spinner does not call the OnItemSelectedListener if the same item is selected,so do it manually now
  20. getOnItemSelectedListener().onItemSelected(this,getSelectedView(),position,getSelectedItemId());
  21. }
  22. }
  23.  
  24. @Override public void
  25. setSelection(int position)
  26. {
  27. boolean sameSelected = position == getSelectedItemPosition();
  28. super.setSelection(position);
  29. if (sameSelected) {
  30. // Spinner does not call the OnItemSelectedListener if the same item is selected,getSelectedItemId());
  31. }
  32. }
  33. }

猜你在找的Android相关文章