首頁 >Java >java教程 >如何使用 Serialized 在 Android 中的 Activity 之間成功傳遞資料(包括點陣圖和清單)?

如何使用 Serialized 在 Android 中的 Activity 之間成功傳遞資料(包括點陣圖和清單)?

Barbara Streisand
Barbara Streisand原創
2024-12-10 06:07:10327瀏覽

How to Successfully Pass Data, Including Bitmaps and Lists, Between Activities in Android Using Serializable?

使用Serialized 透過Intent 傳遞資料:解決常見問題

利用Serialized 是一種在Android 應用程式中的Activity 之間傳遞資料的方法。然而,在實施過程中可能會出現問題。以下是如何對最常見的問題進行故障排除。

問題:

可序列化實作不適用於包含 Bitmap 的自訂類別。

解決方案:

確保 Bitmap 可序列化實現可序列化的自訂位圖類別或找到替代方法來表示和發送它。

其他問題:

透過 Intent.putExtra 傳遞自訂縮圖物件清單失敗。

解決方案:

使用 Bundle.putSerialized 而不是 Intent.putExtra 來傳遞可序列化清單。需要使用 getIntent().getExtras() 檢索 Bundle,並且可以使用 getSerialized 存取清單。

修訂的程式碼:

// Prepare the Bundle
Bundle bundle = new Bundle();
bundle.putSerializable("value", all_thumbs);

// Pass the Bundle to the Intent
intent.putExtras(bundle);

// Retrieve the Bundle in the receiving Activity
Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();

// Retrieve the serializable list
List<Thumbnail> thumbs =
    (List<Thumbnail>) bundle.getSerializable("value");

透過使用Bundle.putSerialized 並正確檢索它,您可以透過 Intent 成功傳遞可序列化物件的清單。使用自訂物件時,請始終記住實作 Serialized 介面或使用相容的資料傳輸機制。

以上是如何使用 Serialized 在 Android 中的 Activity 之間成功傳遞資料(包括點陣圖和清單)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn