When transferring data between activities, it may be necessary to pass complex data structures such as arrays. This article explores how to effectively send an array of integers from one activity (A) to another (B) using Intent.putExtra().
Problem:
In activity A, an array of integers is initialized and intended to be sent to activity B. However, upon receiving the data in activity B, only the value '0' is retrieved instead of the expected array values.
Solution:
The issue lies in the data type mismatch when setting and retrieving the extra. In the provided code:
When sending the data, the putExtra() method is used with an array argument:
<code class="java">i.putExtra("numbers", array);</code>
When receiving the data, the getExtras() method attempts to retrieve the data as a single integer:
<code class="java">int arrayB = extras.getInt("numbers");</code>
The correct approach is to receive the data as an array by using the getIntArray() method instead:
<code class="java">int[] arrayB = extras.getIntArray("numbers");</code>
By using getIntArray(), the received data can be successfully stored in an integer array.
The above is the detailed content of How to Send an Array of Integers Between Activities using Intent.putExtra()?. For more information, please follow other related articles on the PHP Chinese website!