我正在编写自动化测试,我想测试 onValuChangeListener 是否被调用并且正在执行预期的操作。
我在 UI 线程上运行。
picker.setValue(myIndex);
但不幸的是没有调用监听器方法。 该索引是有效索引。 是的,我正在添加监听器,是的,当我运行/调试应用程序时会调用该方法,因此它已正确设置。
谢谢。
最佳答案
不幸的是,NumberPicker 无法做到这一点。如果您查看源代码,您将看到以下内容:
public void setValue(int value) {
setValueInternal(value, false);
}
如您所见,setValueInternal 有 int value
和一个 boolean notify
参数。当 notify
为真时,该方法调用 NumberPicker.OnValueChangeListener
接口(interface)进行任何更改。由于它是假的,它永远不会通知你的听众。您需要自己处理更改。
关于android - 设置值时未调用 NumberPicker OnValueChangeListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25676902/