Robotium waitForView消失了吗?

时间:2012-07-03 06:28:45

标签: android robotium

我正在使用机器人3.1,我想等待视图消失,有什么方法可以轻松地做到这一点吗?我目前的方式涉及一个丑陋的忙碌循环,睡眠不会让人高兴。

To clarify what I'd like to happen:
waitForView(<View>) //The view appears
//The view is visible for a few seconds
waitForViewNotThere(<View>) //waits until the view has disappeared

出现的视图不包含任何文本等。任何输入都非常感谢。

3 个答案:

答案 0 :(得分:5)

这是:

final TextView helloWorldText = solo.getText("Hello world!");

    solo.waitForCondition(new Condition() {
        @Override
        public boolean isSatisfied() {
            return helloWorldText.getVisibility() == View.INVISIBLE;
        }
    }, 10000);

答案 1 :(得分:1)

无论你做什么,你可能会在循环中有某种睡眠。 (如果你看看机器人的来源它也使用睡眠)。您可以通过在等待Ui线程空闲的检测上使用waitforidlesync方法将它们保持在最低限度。

答案 2 :(得分:0)

如果您想等待视图消失,请使用solo.waitForDialogToClose(long timeout) 参数: timeout - 等待的时间量(以毫秒为单位) 返回:如果Dialog在超时之前关闭,则返回true;如果未关闭,则返回false。