in meiner Anwendung ich Klasse haben, die eine Liste der Liste enthält, auf die ich Parcelable
zu bestimmten Klasse machen wollen, so weit habe ich versucht,Parcel - wählen kann nicht von parametrisierten Typ
public class FeaturesParcelable implements Parcelable {
private List<List<SpinnerModel>> featuresSublist;
public List<List<SpinnerModel>> getFeaturesSublist() {
return featuresSublist;
}
public void setFeaturesSublist(List<List<SpinnerModel>> featuresSublist) {
this.featuresSublist = featuresSublist;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeList(this.featuresSublist);
}
public FeaturesParcelable() {
}
protected FeaturesParcelable(Parcel in) {
this.featuresSublist = new ArrayList<List<SpinnerModel>>();
in.readList(this.featuresSublist, List<SpinnerModel>.class.getClassLoader());
}
public static final Parcelable.Creator<FeaturesParcelable> CREATOR = new Parcelable.Creator<FeaturesParcelable>() {
@Override
public FeaturesParcelable createFromParcel(Parcel source) {
return new FeaturesParcelable(source);
}
@Override
public FeaturesParcelable[] newArray(int size) {
return new FeaturesParcelable[size];
}
};
}
aber ich erhalte eine Fehlermeldung kann nicht innerhalb
von parametrisierte Typ wählen Sie das, was Sie erwartenprotected FeaturesParcelable(Parcel in) {
this.featuresSublist = new ArrayList<List<SpinnerModel>>();
in.readList(this.featuresSublist, List<SpinnerModel>.class.getClassLoader());
}
Aufgrund der Funktionsweise von Interfaces/Generics in Java benötigen Sie wahrscheinlich zunächst eine konkrete List-Implementierung, anstatt wie zuvor die List-Schnittstelle zu verwenden. –
Submersed