我正在编写自动化测试,我想测试是否正在调用onValuChangeListener并且正在进行预期的操作。
我在UI线程上运行。
picker.setValue(myIndex);
但不幸的是,没有调用监听器方法。 索引是有效的索引。 是的我正在添加监听器,是的,当我运行/调试应用程序时调用该方法,以便正确设置。
感谢。
答案 0 :(得分:1)
不幸的是,这不是NumberPicker可能实现的。如果您查看源代码,您将看到以下内容:
public void setValue(int value) {
setValueInternal(value, false);
}
正如您所见,setValueInternal有int value
和boolean notify
个参数。当notify
为true时,该方法会调用NumberPicker.OnValueChangeListener
接口进行任何更改。由于它是假的,它永远不会通知你的听众。您需要自己处理更改。