我在實現Android中的Parcelable類時遇到了問題。Android Parcelable問題
我遇到的問題是,我收到的是BinarySearchTree無法轉換爲TreeNode。
當我打印出什麼類型時,我收到它說樹節點,所以我不完全確定問題是什麼。
這是錯誤
01-31 18:13:50.986: E/AndroidRuntime(1059): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.discoverycalendar/com.discoverycalendar.DiscoveryMainMenu}:
java.lang.ClassCastException: com.DiscoveryUtils.BinarySearchTree cannot be cast to com.DiscoveryObjects.TreeNode
private TreeNode root = null;
@Override
public int describeContents() {
return 0;
}
public BinarySearchTree(Parcel in){
this();
root = (TreeNode) in.readValue(TreeNode.class.getClassLoader());
in.readStringList(treeCont);
in.readStringList(treeAsString);
}
public static final Creator<BinarySearchTree> CREATOR = new Creator<BinarySearchTree>() {
public BinarySearchTree createFromParcel(Parcel source) {
return new BinarySearchTree(source);
}
public BinarySearchTree[] newArray(int size) {
return new BinarySearchTree[size];
}
};
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeValue(root);
dest.writeStringList(treeCont);
dest.writeStringList(treeAsString);
}
當我嘗試鑄造的返回值到一個TreeNode我收到錯誤。我不知道爲什麼它認爲它是一個不同的對象。
如果你已經解決了這個問題,你可能想接受一個答案,如果這有助於或發佈你的解決方案來幫助他人。 – wtsang02