在setValue时未调用NumberPicker OnValueChangeListener

时间:2014-09-05 00:23:00

标签: android testing listener automated-tests numberpicker

我正在编写自动化测试,我想测试是否正在调用onValuChangeListener并且正在进行预期的操作。

我在UI线程上运行。

picker.setValue(myIndex);

但不幸的是,没有调用监听器方法。 索引是有效的索引。 是的我正在添加监听器,是的,当我运行/调试应用程序时调用该方法,以便正确设置。

感谢。

1 个答案:

答案 0 :(得分:1)

不幸的是,这不是NumberPicker可能实现的。如果您查看源代码,您将看到以下内容:

public void setValue(int value) {
    setValueInternal(value, false);
}

正如您所见,setValueInternal有int valueboolean notify个参数。当notify为true时,该方法会调用NumberPicker.OnValueChangeListener接口进行任何更改。由于它是假的,它永远不会通知你的听众。您需要自己处理更改。