アクティビティ間でデータを転送する場合、配列などの複雑なデータ構造を渡すことが必要になる場合があります。この記事では、Intent.putExtra().
問題:
In を使用して、あるアクティビティ (A) から別のアクティビティ (B) に整数の配列を効果的に送信する方法について説明します。アクティビティ A では、整数の配列が初期化され、アクティビティ B に送信されるように意図されています。ただし、アクティビティ B でデータを受信すると、期待される配列の代わりに値「0」のみが取得されます。 value.
解決策:
問題は、エクストラを設定および取得するときのデータ型の不一致にあります。提供されたコードでは:
データを送信するときに、配列引数を指定して putExtra() メソッドが使用されます:
i.putExtra("numbers", array);
データを受信するとき、getExtras() メソッドはデータを単一のデータとして取得しようとします。 integer:
int arrayB = extras.getInt("numbers");
正しいアプローチは、getIntArray を使用してデータを配列として受け取ることです。代わりに () メソッド:
int[] arrayB = extras.getIntArray("numbers");
getIntArray()を使用すると、受信したデータを整数配列に正常に格納できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3