我想显示一个数字选择器值从用户开始滚动到最终值时更改的数量。我找到了OnValueChangeListener,但问题是每次滚动过去的每个数字都会调用它,而我希望值的总变化。我看了看OnScrollListener,但这似乎也没有做我想要的。
用户首次开始滚动时会触发事件吗?同样,当数字选择器停止旋转时会发生事件吗?
看起来应该很容易实现,但是我很挣扎。例如,NumberPicker从20的初始值开始,用户滚动到11,所以更改的数量为9。
最佳答案
答案非常简单……只需存储初始值和最终值,然后取两者之间的差即可。
在充气/实例化NumberPicker
之前,请注意其初始起始值。例如,创建一个私有实例变量private int mInitialValue
。然后,当您将NumberPicker
的初始值设为20时,
mInitialValue = 20;
当用户退出活动时(或只要您确定已设置“最终”值),就存储其值(即
mFinalValue
)。然后用mFinalValue - mInitialValue
进行区别。关于android - Android NumberPicker如何找到金额更改?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11161282/