0

結果としてインテント間の配列を startActivityForResult に渡すと、部分的な配列が返されます

ArrayList<User> currentUsers = ...

Intent resultIntent = new Intent();
resultIntent.putParcelableArrayListExtra(USER_ARR, currentUsers);
setResult(Activity.RESULT_OK, resultIntent);

ArrayList<User> users = data.getParcelableArrayListExtra(USER_ARR);

ユーザーが Parcelable を実装しており、確実に正しく構築されています。

配列の受け渡しで何かを変更しましたが、配列を送信するときに変更しました

多くのユーザーが null であるか、1 人を除くすべてのユーザーが null である場合に、反対側で受信されます。

また、Parcelable[] だけを送信してみましたが、同じことが行われました

助けてください

4

1 に答える 1

0

答えが見つかりました:)これを修正する前にどのように機能したかわかりません

バイト配列のサイズがゼロより大きい場合にのみ、パーセルブル内のバイト配列を読み取っていましたが、それを読み取らないと dataPosition() が進みませんでした

この質問のおかげで、バイト配列を含むカスタム Parcelable を作成します 答えを見つけました

皆さん、素晴らしい一日を

于 2013-08-29T08:17:04.663 に答える