2017-04-12 54 views
0

我試圖設置一個方法來更改任務的狀態。我跑的代碼是這樣的:無法將任務標記爲未完成使用Java庫的Google Tasks API的

private void changeStatus(String taskId, String listId, String newStatus) throws IOException { 
    Task task = mService.tasks().get(listId,taskId).execute(); 
    task.setStatus(newStatus); 
    mService.tasks().update(listId, task.getId(), task).execute(); 
} 

我傳遞的任務ID,列表ID和NEWSTATUS(這是可以「完成」或「needsAction」)。代碼可以正常工作,將任務標記爲已完成,但當我嘗試將其標記爲未完成時,它會給我一個「無效值」錯誤。

我試過的,而不是狀態設置爲「needsAction」,設置完成日期,像這樣:

task.setCompleted(new DateTime(new Date().getTime())); 

但是,這並不工作。

這樣做的正確方法是什麼?

在此先感謝。

+0

我已經解決了它。 問題是我需要將完成的字段先設置爲空。見答案。 –

回答

0

這是應該做的事:

private void changeStatus(String taskId, String listId, String newStatus) throws IOException { 
    Task task = mService.tasks().get(listId,taskId).execute(); 
    task.setCompleted(null); 
    task.setStatus(newStatus); 
    mService.tasks().update(listId, task.getId(), task).execute(); 
} 
相關問題