問題:
使用下列方法將整數陣列從活動A 傳送到活動B Intent.putExtra。然而,在 Activity B 中,陣列接收為「0」。
背景:
Intent.putExtra() 通常用於傳送小資料類型,如字串、整數、並在活動之間加倍。但是,它並不直接適用於數組。
錯誤的方法:
<code class="java">i.putExtra("numbers", array);</code>
問題:
上面的程式碼嘗試將整數陣列當作整數放入意圖中。這是不正確的,因為陣列無法容納單一整數。
正確方法:
要使用 Intent.putExtra 傳送數組,必須將其轉換為表單可以儲存為單一值。這可以透過使用 getIntArray() 和 putExtraIntArray() 方法來實現。
<code class="java">// Sending array from Activity A i.putExtra("numbers", array); // Receiving array in Activity B int[] arrayB = extras.getIntArray("numbers");</code>
附加說明:
確保兩個活動具有相同的陣列宣告以避免執行時錯誤。在訪問意圖之前檢查意圖是否包含預期的額外內容也是一種很好的做法。
以上是如何在 Android 的 Activity 之間發送整數陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!