package com.github.takahirom.materialelement.main; import android.os.Parcel; import android.os.Parcelable; public class ImplementationItem extends ListItem implements Parcelable { public final String title; public final int imageRes; private final String activityClassName; ImplementationItem(int itemId, String title, int imageRes, Class<?> clazz) { super(ImplementationAdapter.VIEW_TYPE_IMPLEMENTATION, itemId); this.title = title; this.imageRes = imageRes; this.activityClassName = clazz.getName(); } protected ImplementationItem(Parcel in) { super(in); title = in.readString(); imageRes = in.readInt(); activityClassName = in.readString(); } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags); dest.writeString(title); dest.writeInt(imageRes); dest.writeString(activityClassName); } @Override public int describeContents() { return 0; } public static final Creator<ImplementationItem> CREATOR = new Creator<ImplementationItem>() { @Override public ImplementationItem createFromParcel(Parcel in) { return new ImplementationItem(in); } @Override public ImplementationItem[] newArray(int size) { return new ImplementationItem[size]; } }; Class<?> getActivityClass() { try { return Class.forName(activityClassName); } catch (ClassNotFoundException e) { e.printStackTrace(); } return null; } }