2016-01-13 26 views
0

,所以我有一個自定義的parseObject稱爲任務和另一個名爲組。我在我的Group對象中保存任務的數組列表,然後檢索組和任務。但是,無論何時使用group.getList(「tasks」),我都會在標題中看到錯誤,即使我絕對沒有將Task保存爲JSONObject。我已經看過了stackoverflow,但我似乎無法找到任何其他人有這個問題。

我也有另外的parseObject稱爲消息,我訪問在完全相同的方式,我沒有得到這個錯誤。

@ParseClassName("Task") 
public class Task extends ParseObject { 

    public Task getTask(String objectId) { 
     return (Task) getParseObject(objectId); 
    } 

    public String getDescription() { 
     return getString("description"); 
    } 

    public String getLocation() { 
     return getString("location"); 
    } 

    public String getDate() { 
     return getString("date"); 
    } 

    public String getTime() { 
     return getString("time"); 
    } 
} 

這裏就是我找回我的組

ParseQuery<Group> query = ParseQuery.getQuery("Group"); 
query.include("messages"); 
query.include("tasks"); 
query.whereEqualTo("name", groupName); 
query.getFirstInBackground... 

這裏的地方我嘗試檢索任務列表。將Object更改爲Task只會將錯誤位置移動到getList行。

ArrayList<Task> tasks = new ArrayList<>(); 
List<Object> list = this.getList("tasks"); 
tasks.clear(); 
for (Object obj : list) { 
    tasks.add((Task) obj); // here is the error spot 
} 
return tasks; 

這是我的我的任務保存到Group對象

final Task task = new Task(); 
task.put("description", description); 
task.put("date", date); 
task.put("time", time); 
task.put("location", location); 
task.saveInBackground(); 

group.add("tasks", task); 
group.saveInBackground(); 
+0

如果你已經使用「對象」它不應該是「的parseObject」 - 你應該從的parseObject,而不是一個對象鑄造? –

+0

這沒有什麼區別。我犯了同樣的錯誤 – googlygoogly2

回答

0

我也有類似的問題,即讓我存儲在現場從我ParseUser定製ParseObjects的名單,經努力後要訪問其中一個對象,我得到了一個ClassCastException。我通過在它崩潰的那一行放置一個斷點來進一步調查,並且在查看調試器屏幕時,我注意到我從ParseUser檢索到的對象列表實際上是一個空值列表。

我認爲這個問題可能是對象本身爲空,由於某種原因,當的parseObject爲空,似乎解決自己是一個JSONObject,而不是一個適當的parseObject。我會檢查你的Parse儀表板,並確保這個對象不是null。另外,如果您的列表中有指向Task對象的指針,請確保這些指針實際上指向實際上仍然存在於數據庫中的任務,因爲您可能已經過時了指向列表中的幽靈對象的指針。

相關問題