1

我確信有一個簡單的解決方案,但我很難與它。我試圖用setDatePicker方法的改變之日起在我DateDialog但我不斷收到索引越界錯誤IndexOutOfBoundsException設置DatePicker與Robotium

solo.clickOnButton(0); 
solo.setDatePicker(0, year, month, day); 
solo.clickOnButton("Set"); 

日期選擇器在onCreateDialog方法

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case START_DATE_ID: 
     return new DatePickerDialog(this, bDateSetListener, bYear, bMonth, 
       bDay); 
    case END_DATE_ID: 
     return new DatePickerDialog(this, eDateSetListener, eYear, eMonth, 
       eDay); 
    } 
    return null; 
} 

錯誤創建我一直在說「無效索引0,大小0」。我沒有看到我可以存儲DatePickerDialog的方法,只是設置/獲取值。看來你只需要繼續創建一個新的。我確定有人有這個工作。謝謝你的幫助。

回答

0

現在,我一直在與robotium以前多一點我看到它給你的錯誤是不是真的有幫助的(或在這種情況下,真正的問題)。我得到的錯誤實際上與設置DatePicker無關。在我的測試代碼中,我結束了一個不是測試用例的開始活動的活動,它在測試之外工作。在我注意到這一點之後,我簡單地回到了開始的活動和過去的測試....故事的寓意是Robotium錯誤不是很清楚,您應該尋找其他可能在應用程序或流程中出錯的東西以緩解奇怪的錯誤。

0

你初始化了bYear,bMonth,bDay嗎?像這樣的事情,呼籲DIALOG_ID

final Calendar c = Calendar.getInstance(); 
    bYear = c.get(Calendar.YEAR); 
    bMonth = c.get(Calendar.MONTH); 
    bDay = c.get(Calendar.DAY_OF_MONTH); 
+0

我沒有初始化變量。我發現當測試運行時,它們被初始化爲正確的值。 – DroidT 2012-08-08 21:55:58