NumberPicker,OnValueChangedListener,区分来自用户的变化和来自编程的变化?

NumberPicker, OnValueChangedListener, distinguish change from user and from programmatic change?

当应用程序本身以编程方式更改值时,似乎会调用 OnValueChangedListener。我能否让它仅在用户旋转拨盘或知道事件是来自应用程序(代码)还是来自用户时引发?

您可以有一个字段保存选择器的当前值。如果您想从代码中设置选择器的当前编号,请在更新数字选择器之前更改该字段。在选择器侦听器中,只需忽略新数字已经等于该字段的事件。否则处理更改并更新字段。