intent 에 객체를 전달하기 위해서는 parcelable 인터페이스를 사용해야 한다.
package com.hobbytic.stamp.item;
import android.os.Parcel;
import android.os.Parcelable;
public class FeedListItem implements Parcelable {
//This is item for Feed
private String mCourseTitle, mProfilePicUrl, mWriter, mUpdatedTime, mMainContent, mMainPicUrl;
private int mId;
public FeedListItem(int id, String courseTitle, String profilePicUrl, String writer, String updatedTime, String mainContent, String mainPicUrl){
mId = id;
mCourseTitle = courseTitle;
mProfilePicUrl = profilePicUrl;
mWriter = writer;
mUpdatedTime = updatedTime;
mMainContent = mainContent;
mMainPicUrl = mainPicUrl;
}
/** parcelable init **/
public FeedListItem(Parcel in){
readFromParcel(in);
/** getter and setter for data **/
public int getId(){ return mId;}
public String getCourseTitle(){
if (mCourseTitle == null){
return null;
}
return mCourseTitle;
}
public void setCourseTitle(String courseTitle){
mCourseTitle = courseTitle;
}
public String getProfilePicUrl() {
if (mProfilePicUrl == null){
return null;
}
return mProfilePicUrl;
}
public void setProfilePicUrl(String profilePicUrl) {
mProfilePicUrl = profilePicUrl;
}
public String getWriter() {
if (mWriter == null){
return null;
}
return mWriter;
}
public void setWriter(String writer) {
mWriter = writer;
}
public String getUpdatedTime() {
if (mUpdatedTime == null){
return null;
}
return mUpdatedTime;
}
public void setUpdatedTime(String updatedTime) {
mUpdatedTime = updatedTime;
}
public String getMainContent() {
if (mMainContent == null){
return null;
}
return mMainContent;
}
public void setMainContent(String mainContent) {
mMainContent = mainContent;
}
public String getMainPicUrl() {
if (mMainPicUrl == null){
return null;
}
return mMainPicUrl;
}
public void setMainPicUrl(String mainPicUrl) {
mMainPicUrl = mainPicUrl;
}
/** for parcelable interface **/
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(mId);
dest.writeString(mCourseTitle);
dest.writeString(mProfilePicUrl);
dest.writeString(mWriter);
dest.writeString(mUpdatedTime);
dest.writeString(mMainContent);
dest.writeString(mMainPicUrl);
}
public void readFromParcel(Parcel in){
/** MUST have same order with writeToParcel **/
mId = in.readInt();
mCourseTitle = in.readString();
mProfilePicUrl = in.readString();
mWriter = in.readString();
mUpdatedTime = in.readString();
mMainContent = in.readString();
mMainPicUrl = in.readString();
public static final Parcelable.Creator CREATOR = new Creator() {
@Override
public FeedListItem createFromParcel(Parcel in) {
return new FeedListItem(in);
}
@Override
public FeedListItem[] newArray(int size) {
return new FeedListItem[size];
}
};