2016-05-08 11 views
1

新しいフラグメントを初期化するには、オブジェクトをパーセル可能なオブジェクトとして送信する必要があります。 これらは、それが含まれているフィールドです:JsonObjectでパーセル化可能なオブジェクト

private String sessionId; 
private String status; 
private JSONObject typeAttributes; 
private JSONObject kindAttributes; 

問題はJSONObjectがparcelableはないということです。 writeToParcelメソッドで単にwriteValueメソッドを使用すると、受け入れられないクラスエラーが発生します。 さらに、JSONObjectはSerializableでさえありません。

また、typeAttributesとkindAttributesは動的なので、アプリが起動するたびに異なる値のフィールドがあります。

誰かが解決方法を知っていれば、助けてください。

答えて

4

Stringを返却すると、簡単に小包に保管することができます。

それからちょうどStringを取り、それはあなたのためにそれらのオブジェクトのフィールドを自動的に取り込むますJSONObjectconstructorを使用し、parceled Stringからオブジェクトを作成します。

+0

ありがとう、私はJsonObjectがStringに簡単にキャストでき、 –

1

私はこのアプローチに行きます。

1-シリアライズ

2-

-3-はserialazable 1

public class POJO implements Serializable{ 
 
    private String sessionId; 
 
    private String status; 
 
    // private JSONObject typeAttributes; 
 
    // SUPPOSE THIS JSONObject CONTAINS TWO FIELDS AS NAME AND AGE SO I USE TWO MORE FILDS 
 
    String name; 
 
    String age; 
 

 
    //....... WRITE GETTERS AND SETTERS 
 

 
}

としてオブジェクトを送信そのクラスのオブジェクトを構築実装POJOクラスを作成このPOJOオブジェクトをビルドするための詳しい説明が必要な場合は、私に教えてください。アクティビティの内部でそれを送信してくださいシリアライズ可能にする

関連する問題