【问题标题】:NumberPicker OnValueChangeListener not called when setValue设置值时未调用 NumberPicker OnValueChangeListener
【发布时间】:2014-09-05 00:22:59
【问题描述】:

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

我在 UI 线程上运行。

picker.setValue(myIndex);

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

谢谢。

【问题讨论】:

    标签: android testing listener automated-tests numberpicker


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-05-11
      • 2015-08-08
      • 2014-06-07
      • 2016-12-22
      • 2018-02-22
      • 1970-01-01
      • 1970-01-01
      • 2014-11-05
      • 1970-01-01
      相关资源
      最近更新 更多