2012-07-03 23 views
0

我正在使用robotium 3.1,我想等待視圖消失,有什麼方法可以輕鬆完成嗎?我目前的方式涉及到一個醜陋的繁忙循環,睡眠讓人無法幸福。Robotium waitForView消失?

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 

顯示的視圖不包含任何文本或其他。任何意見都非常感謝。

回答

5

這是怎麼了:

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

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

無論你做什麼你可能會在循環中有某種睡眠。 (如果你看着robotiums的源代碼,它也使用睡眠)。通過在等待UI線程變爲空閒的檢測上使用waitforidlesync方法,可以將它們保持在最低水平。

0

如果您想等待視圖消失,請使用solo.waitForDialogToClose(long timeout)
參數: timeout - 等待的時間量(以毫秒爲單位)。
返回:如果對話框在超時前關閉,則返回true;如果關閉,則返回false。