Beim Übertragen von Daten zwischen Aktivitäten kann es erforderlich sein, komplexe Datenstrukturen wie Arrays zu übergeben. In diesem Artikel wird untersucht, wie man mit Intent.putExtra() effektiv ein Array von Ganzzahlen von einer Aktivität (A) an eine andere (B) sendet.
Problem:
In Bei Aktivität A wird ein Array von Ganzzahlen initialisiert und soll an Aktivität B gesendet werden. Beim Empfang der Daten in Aktivität B wird jedoch nur der Wert „0“ anstelle der erwarteten Array-Werte abgerufen.
Lösung:
Das Problem liegt in der Nichtübereinstimmung der Datentypen beim Festlegen und Abrufen des Extras. Im bereitgestellten Code:
Beim Senden der Daten wird die Methode putExtra() mit einem Array-Argument verwendet:
<code class="java">i.putExtra("numbers", array);</code>
When Beim Empfang der Daten versucht die Methode getExtras(), die Daten als einzelne Ganzzahl abzurufen:
<code class="java">int arrayB = extras.getInt("numbers");</code>
Der richtige Ansatz besteht darin, die Daten als Array zu empfangen, indem getIntArray( )-Methode stattdessen:
<code class="java">int[] arrayB = extras.getIntArray("numbers");</code>
Durch die Verwendung von getIntArray() können die empfangenen Daten erfolgreich in einem Integer-Array gespeichert werden.
Das obige ist der detaillierte Inhalt vonWie sende ich mit Intent.putExtra() ein Array von Ganzzahlen zwischen Aktivitäten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!