Android setValue时未调用NumberPicker OnValueChangeListener
我正在编写自动化测试,我想测试OnValueChangeListener是否正在被调用,是否正在执行预期的操作 我在UI线程上运行Android setValue时未调用NumberPicker OnValueChangeListener,android,testing,listener,automated-tests,numberpicker,Android,Testing,Listener,Automated Tests,Numberpicker,我正在编写自动化测试,我想测试OnValueChangeListener是否正在被调用,是否正在执行预期的操作 我在UI线程上运行 picker.setValue(myIndex); 但不幸的是,侦听器方法没有被调用。 该索引是有效的索引。 是的,我正在添加侦听器,是的,当我运行/调试应用程序时会调用该方法,以便正确设置 谢谢。不幸的是,NumberPicker不可能做到这一点。如果查看源代码,您将看到以下内容: public void setValue(int value) { se
picker.setValue(myIndex);
但不幸的是,侦听器方法没有被调用。
该索引是有效的索引。
是的,我正在添加侦听器,是的,当我运行/调试应用程序时会调用该方法,以便正确设置
谢谢。不幸的是,NumberPicker不可能做到这一点。如果查看源代码,您将看到以下内容:
public void setValue(int value) {
setValueInternal(value, false);
}
如您所见,setValueInternal具有int-value
和boolean-notify
参数。当notify
为true时,该方法调用NumberPicker.OnValueChangeListener
接口进行任何更改。因为它是假的,所以它永远不会通知你的听众。您需要自己处理更改