我有一个 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 从一个活动发送到另一个活动?
Thanks,
您可以使用 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];
}
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)