0

カスタム配列リストに「finaljsoncontent」というオブジェクトがあり、この「finaljsoncontent」配列を別のアクティビティに渡そうとしています。また、ゲッターとセッターを試し、バンドルも試しましたが、できません。これを行う。前もって感謝します。

4

3 に答える 3

0

を実装Parcelableしてみると、バンドルで渡すことができます。これを行うには、オブジェクトをほとんどプリミティブ型に減らす必要があります。それ以外の場合は、クラスを拡張しApplicationてそこに保存できます。への呼び出しを使用してそれを取得しますgetApplicationContext()。または、もちろん、すべてのクラスが参照できる何らかの静的グローバル クラスをいつでも作成できます。

これは、parcelable の私の実装の 1 つです。

package warrior.mail.namespace;

import android.os.Parcel;
import android.os.Parcelable;

public class JView implements Parcelable {
    public String subject;
    public String from;
    public boolean unread;
    public String body;
    public int inboxIndex;
    private long id;
    public static final Parcelable.Creator<JView> CREATOR = new Parcelable.Creator<JView>() {

        public JView createFromParcel(Parcel in) {
            return new JView(in);
        }

        public JView[] newArray(int size) {
            return new JView[size];
        }

    };

    public JView(){
        body = "";
    }

    public JView(String subject,String from,boolean unread){
        body = "";
        this.subject = subject;
        this.from = from;
        this.unread = unread;
    }

    public JView(Parcel parcel){
        subject = parcel.readString();
        from = parcel.readString();
        body = parcel.readString();
        unread = parcel.createBooleanArray()[0];
        inboxIndex = parcel.readInt();
    }

    @Override
    public int describeContents() {
        return inboxIndex;
    }

    @Override
    public void writeToParcel(Parcel out, int arg1) {
        out.writeString(subject);
        out.writeString(from);
        out.writeString(body);
        boolean[] array = new boolean[] {unread};
        out.writeBooleanArray(array);
        out.writeInt(inboxIndex);
    }

    public void setIndex(int index){
        inboxIndex = index;
    }

    public void setUnread(boolean arg){
        unread = arg;
    }

    public void setContent(String content){
        body = content;
    }

    public void setSubject(String subject){
        this.subject = subject;
    }

    public void setFrom(String f){
        from = f;
    }

    public void setId(long arg){
        id = arg;
    }

    public long getId(){
        return id;
    }

    public void updateIndex(){

    }
}
于 2012-07-31T16:43:31.483 に答える
0

これをチェックしてください:Androidであるアクティビティから別のアクティビティにオブジェクトを渡すにはどうすればよいですか?

クラス「JSonKey」は、Android がアクティビティから他のアクティビティに「送信」できるように、parcealable または serializable を実装する必要があります。

于 2012-07-31T16:46:49.777 に答える
0

Parcelableクラスを(アンドロイド固有)にするか、Javaのようにシリアライズ可能にすることができます(クラスで実装シリアライズ可能と書くだけです)

于 2012-07-31T16:52:18.320 に答える