【发布时间】:2016-10-17 10:52:30
【问题描述】:
我是 android 的新手,正在开发一个带有两个屏幕的演示应用程序,将数据从一个屏幕传递到另一个活动,在此期间我遇到了异常,
java.lang.RuntimeException: Parcelable遇到IOException写 可序列化对象(名称 = one.tusk.stush.connect.Post)
代码
Intent intentPostDetail = new Intent(PostListItem.this.getContext(), NewPostDetailActivity.class);
Post post = mPost;
System.out.print("========MY POST IS======>" + mPost.toString());
intentPostDetail.putExtra("Post", post);
intentPostDetail.putExtra("flag", "post");
mContext.startActivity(intentPostDetail);
基础对象
public class BaseObject {
static DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
public static Date getDateFromJSONObject(JSONObject jsonObject, String key) {
String value = "";
Date date = null;
try {
value = jsonObject.getString(key);
date = dateFormatter.parse(value);
} catch (Exception e) {
}
return date;
}
public static String getStringFromJSONObject(JSONObject jsonObject, String key) {
String value = "";
try {
value = jsonObject.getString(key);
} catch (Exception e) {
}
return value;
}
public static int getIntFromJSONObject(JSONObject jsonObject, String key) {
int value = 0;
try {
value = jsonObject.getInt(key);
} catch (Exception e) {
}
return value;
}
public static boolean getBooleanFromJSONObject(JSONObject jsonObject, String key) {
boolean value = false;
try {
value = jsonObject.getBoolean(key);
} catch (Exception e) {
}
return value;
}
public static double getDoubleFromJSONObject(JSONObject jsonObject, String key) {
double value = 0;
try {
value = jsonObject.getDouble(key);
} catch (Exception e) {
}
return value;
}
public static JSONObject getJSONFromJSONObject(JSONObject jsonObject, String key) {
JSONObject value = null;
try {
value = jsonObject.getJSONObject(key);
} catch (Exception e) {
}
return value;
}
发帖
public class Post extends BaseObject implements Serializable {
private static final long serialVersionUID = 1L;
public String postTitle;
public String postImagePath;
public Date postDate;
public ArrayList<String> postKeywords;
public User postUser;
public int postID;
public int postLikesCount;
public int postCommentsCount;
public boolean likedThisPost;
public boolean commentedThisPost;
public boolean inAlbum;
public String timeAgo;
public int totalReviews;
public String loginuserReviews;
int rv_cnt;
public double ratingcount;
public JSONObject userObj;
public int userId;
String reviews;
public Post(JSONObject jsonObject) {
//Log.d("JSOn", jsonObject.toString());
this.postID = getIntFromJSONObject(jsonObject, "postID");
this.postImagePath = getStringFromJSONObject(jsonObject, "postImage");
this.postTitle = getStringFromJSONObject(jsonObject, "postTitle");
this.postDate = getDateFromJSONObject(jsonObject, "postDate");
this.postUser = new User(getJSONFromJSONObject(jsonObject, "user"));
this.postLikesCount = getIntFromJSONObject(jsonObject, "totalLikes");
this.postCommentsCount = getIntFromJSONObject(jsonObject, "totalComments");
this.timeAgo = getStringFromJSONObject(jsonObject, "timeAgo");
this.commentedThisPost = getBooleanFromJSONObject(jsonObject, "isCommented");
// userObj = getJSONFromJSONObject(jsonObject, "user");
this.userId = getIntFromJSONObject(jsonObject, "userID");
this.totalReviews = getIntFromJSONObject(jsonObject, "totalReview");
this.ratingcount = getDoubleFromJSONObject(jsonObject, "ratingcount");
int isLiked = getIntFromJSONObject(jsonObject, "isLiked");
if (isLiked == 1) {
this.likedThisPost = true;
} else {
this.likedThisPost = false;
}
int inAlbum = getIntFromJSONObject(jsonObject, "inAlbum");
if (inAlbum == 1) {
this.inAlbum = true;
} else {
this.inAlbum = false;
}
}
}
谁能帮我解决这个问题。
【问题讨论】:
-
在问题中输入
Postclass。 -
什么是
Post类? -
@Ironman - 哪个班级?
-
好的,我正在发布“发布”对象类
-
@Apurva - 是的,我已经发布了我的帖子对象类..请帮助我
标签: android android-intent parcelable serializable