ANDROID发送的parseObject到另一个活动 [英] Android Send ParseObject to another activity

查看:209
本文介绍了ANDROID发送的parseObject到另一个活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个的parseObject我要发送到另一个活动:

I have a ParseObject I want to send to another activity :

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

In MyActivity1.java

Intent myIntent = new Intent(this, MyActivity2.class);
myIntent.putExtra("match", match);
startActivity(myIntent);

// Here match.getParseObject("user1") is defined

但在我MyActivity2.java

But in my 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从一个活动到另一个呢?

How can I send a ParseObject from one activity to another one ?

谢谢,

推荐答案

您可以使用Parcelable。这里是一个样本

You may use Parcelable. Here is a sample

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];
        }
    };
}

只需要添加额外的东西像下面。

Just need to add extra things like below.

        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];
            }
        };

这篇关于ANDROID发送的parseObject到另一个活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆