1

I have this class which I am trying to convert to Parcelable. It has a node which points to another object of it's own class.

class Node<T> implements Parcelable {

    public Node<String> parent = null;
    public T year;
    public String name = null;


    public Node(T year, Node<String> parent,String name) {
        //children = new ArrayList<Node<T>>();
        this.year = year;
        this.parent = parent;
        this.name = name;
    }

    protected Node(Parcel in) {
        parent = in.readParcelable(Node<String>.class.getClassLoader());
        name = in.readString();
    }

    public static final Creator<Node> CREATOR = new Creator<Node>() {
        @Override
        public Node createFromParcel(Parcel in) {
            return new Node(in);
        }

        @Override
        public Node[] newArray(int size) {
            return new Node[size];
        }
    };

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel parcel, int i) {
        parcel.writeParcelable(parent, i);
        parcel.writeString(name);
    }
}

I am receiving Cannot select from parameterized type at it's node:

parent = in.readParcelable(Node<String>.class.getClassLoader());

How to solve this error? thank you for your help in advance

  • I have made the changes as suggested it the other post. Now i am receiving an error as String cannot be cast to android.os.Parcelable – Pranati Mittal Mar 24 '19 at 07:59

0 Answers0