3

パーセル可能なオブジェクトをアクティビティに別のアクティビティに渡したいです。そこで、これを達成するためにパーセル可能なクラスを実装しました。そして私はコーディングしました:

Intent intent = new Intent(mainactivity.this, SecondActivity.class);
Object[] object = new Object();
intent.putExtra("Object ", object);
startActivity(intent);

2 番目のアクティビティでは、次のようにコーディングしました。

Object[] object = (Object[]) getIntent().getExtras().getParcelable("object");

オブジェクトを Intent に渡すと、null ではありません。一方、2番目のアクティビティで取得するとnullになります。何か提案はありますか?前もって感謝します!

4

2 に答える 2

8

これを変える:

Object object = (Object) getIntent().getExtras().getParcelable("object");

これに:

Object object = getIntent().getExtras().get("Object");

getParcelableコードの送信部分でオブジェクトを使用putParcelableまたは挿入する場合にのみ使用してください。ParcelableputExtra

PSもキー名オブジェクトオブジェクトの違いに注意してください

于 2012-08-31T08:20:32.810 に答える
2

呼び出し元で簡単に使用できます。

Intent i = new Intent(EditActivity.this, ViewActivity.class);
i.putExtra("myObj", p);
startActivity(i);

受信機で:

Bundle b = i.getExtras();
Person p = (Person) b.getParcelable("myObject");

これがあなたを助けることを願っています

于 2012-08-31T10:48:00.790 に答える