我有一个ParseObject,我想发送给另一个活动:
public class HWMMatch extends ParseObject implements Serializable{
public HWMMatch(){ }
public ParseUser GetUser1() {
return (ParseUser)getParseObject("user1");
}
public void SetUser1(ParseUser user) {
put("user1", user);
}
public ParseUser GetUser2() {
return (ParseUser)getParseObject("user2");
}
public void SetUser2(ParseUser user) {
put("user2", user);
}
}
在MyActivity1.java
中Intent myIntent = new Intent(this, MyActivity2.class);
myIntent.putExtra("match", match);
startActivity(myIntent);
// Here match.getParseObject("user1") is defined
但是在我的MyActivity2.java
中Intent intent = getIntent();
Serializable s = intent.getExtras().getSerializable("match");
if(s != null)
this.match = (Match) s;
// Here match.getParseObject("user1") is null
如何将ParseObject从一个活动发送到另一个活动?
谢谢,
答案 0 :(得分:2)
您可以使用Parcelable。这是一个样本
public class Match extends ParseObject implements Parcelable {
private int intItem;
private String stringItem;
public Match(Parcel in) {
this.intItem = in.readInt();
this.stringItem = in.readString();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(this.intItem);
dest.writeString(this.stringItem);
}
public static final Creator CREATOR = new Parcelable.Creator() {
public Match createFromParcel(Parcel in) {
return new Match(in);
}
public Match[] newArray(int size) {
return new Match[size];
}
};
}
只需添加以下内容即可。
public Match(Parcel in) {
this.intItem = in.readInt();
this.stringItem = in.readString();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(this.intItem);
dest.writeString(this.stringItem);
}
public static final Creator CREATOR = new Parcelable.Creator() {
public Match createFromParcel(Parcel in) {
return new Match(in);
}
public Match[] newArray(int size) {
return new Match[size];
}
};
答案 1 :(得分:0)
使用current version of Parse SDK for Android 1.19.0 ParseObject已经实现了Parcelable,这意味着您可以轻松做到:
当前活动
Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
intent.putExtra("PARSE_OBJECT_EXTRA", parseObject);
startActivity(intent);
下一个活动
ParseObject parseObject = getIntent().getParcelableExtra("PARSE_OBJECT_EXTRA");