1

我想显示从用户开始滚动到最终值时数字选择器值的变化量。我找到了 OnValueChangeListener 但问题是它会在每个滚动过去的数字上被调用,而我想要值的总变化。我查看了 OnScrollListener ,但这似乎也不是我想要的。

当用户第一次开始滚动时会触发一个事件吗?同样,当数字选择器停止旋转时的事件?

似乎它应该很容易实现,但我正在努力。例如 NumberPicker 从 20 的初始值开始,用户滚动到 11,因此更改的数量为 9。

4

1 回答 1

1

答案真的很简单......只需存储初始值和最终值并取两者之间的差异。

  1. 在膨胀/实例化 之前NumberPicker,请注意其初始起始值。例如,创建一个私有实例变量private int mInitialValue。然后,当您NumberPicker将初始值设为 20 时,

    mInitialValue = 20;
    
  2. 当用户退出活动时(或当您确定已设置“最终”值时),存储其值(即mFinalValue)。然后用 取差值mFinalValue - mInitialValue

于 2012-06-22T17:36:36.700 回答