1

インテントとシリアル化androidを使用して、あるアクティビティから別のアクティビティにオブジェクトを転送しようとしています。ここでは、既存のオブジェクト(nullとして受信)を送信できませんが、新しいオブジェクトを送信すると正しく機能します。

これがスニペットです:

private void someMethod(TPackage tpackageObj) {
Intent intent = new Intent(obj, my.tatasky.ChannelActivity.class);      
intent.putExtra("parcel", new TPackage()); // it works
intent.putExtra("parcel", tpackageObj); // doesn't work
}
4

1 に答える 1

0

カスタム クラスで Serializable インターフェイスを実装すると、Intent#putExtra() メソッドの putExtra(Serializable..) バリアントを使用して、インテント エクストラでオブジェクト インスタンスを渡すことができます。

PSEUDO コード:

// 渡す: インテント.putExtra("MyClass", obj);

// 2 番目のアクティビティでオブジェクトを取得する getIntent().getSerializableExtra("MyClass");

于 2012-09-14T15:13:19.543 に答える