[英]Android Send ParseObject to another activity
我有一個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從一個活動發送到另一個活動?
謝謝,
您可以使用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];
}
};
使用當前版本的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");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.