android - 设置值时未调用 NumberPicker OnValueChangeListener

标签 android testing listener automated-tests numberpicker

我正在编写自动化测试,我想测试 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/

相关文章:

安卓 ndk-r8 "error trying to exec ' cc1plus' : execvp: No such file or directory"

android - java.lang.NoClassDefFoundError : Failed resolution of: Lorg/apache/commons/logging/LogFactory 错误

java - 如果没有捕获到任何内容,则取消 SpeechRecognition

ruby-on-rails - Ruby on Rails的奇怪事件

java - 尝试将监听器添加到 JTextFields 数组时出现错误

java - 如何使用 Caret 从 JTextPane 中判断它在哪一行? ( java )

java - 当 MediaRecorder 正在录制时如何执行某些操作?

c# - 如何测试线程安全

java - 寻找一本涵盖单元、功能、集成和场景测试的综合 Java 测试书籍

java - 尝试更新记分牌 - Java