Problem:
Ein Array von Ganzzahlen wird von Aktivität A an Aktivität B gesendet mit Intent.putExtra. In Aktivität B wird das Array jedoch als „0“ empfangen.
Hintergrund:
Intent.putExtra() wird häufig zum Senden kleiner Datentypen wie Zeichenfolgen, Ganzzahlen usw. verwendet. und verdoppelt sich zwischen den Aktivitäten. Es ist jedoch nicht direkt auf Arrays anwendbar.
Falscher Ansatz:
<code class="java">i.putExtra("numbers", array);</code>
Problem:
Der obige Code versucht dies Fügen Sie ein ganzzahliges Array als Ganzzahl in die Absicht ein. Dies ist falsch, da ein Array nicht in eine einzelne Ganzzahl passen kann.
Richtiger Ansatz:
Um ein Array mit Intent.putExtra zu senden, muss es in ein Formular konvertiert werden das kann als einzelner Wert gespeichert werden. Dies kann durch die Verwendung der Methoden getIntArray() und putExtraIntArray() erreicht werden.
<code class="java">// Sending array from Activity A i.putExtra("numbers", array); // Receiving array in Activity B int[] arrayB = extras.getIntArray("numbers");</code>
Zusätzliche Hinweise:
Stellen Sie sicher, dass beide Aktivitäten identische Array-Deklarationen haben, um Laufzeitfehler zu vermeiden. Es empfiehlt sich auch, vor dem Zugriff darauf zu prüfen, ob die Absicht das erwartete Extra enthält.
Das obige ist der detaillierte Inhalt vonWie sende ich ein ganzzahliges Array zwischen Aktivitäten in Android?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!