我已经使用可序列化实现了我的课程,但仍然无法正常工作。
这是我的课:
package com.ursabyte.thumbnail; import java.io.Serializable; import android.graphics.Bitmap; public class Thumbnail implements Serializable { private static final long serialVersionUID = 1L; private String label = ""; private Bitmap bitmap; public Thumbnail(String label, Bitmap bitmap) { this.label = label; this.bitmap = bitmap; } public void set_label(String label) { this.label = label; } public String get_label() { return this.label; } public void set_bitmap(Bitmap bitmap) { this.bitmap = bitmap; } public Bitmap get_bitmap(){ return this.bitmap; } // @Override // public int compareTo(Thumbnail other) { // if(this.label != null) // return this.label.compareTo(other.get_label()); // else // throw new IllegalArgumentException(); // } }
这就是我想通过的。
List<Thumbnail> all_thumbs = new ArrayList<Thumbnail>(); all_thumbs.add(new Thumbnail(string, bitmap)); Intent intent = new Intent(getApplicationContext(), SomeClass.class); intent.putExtra("value", all_thumbs);
但是仍然没有用。我不知道如何使用Parcelable,所以我改用它。
Parcelable
尝试使用Bundle.Serializable传递可序列化的列表:
Bundle.Serializable
Bundle bundle = new Bundle(); bundle.putSerializable("value", all_thumbs); intent.putExtras(bundle);
并在SomeClass活动中将其获取为:
Intent intent = this.getIntent(); Bundle bundle = intent.getExtras(); List<Thumbnail> thumbs= (List<Thumbnail>)bundle.getSerializable("value");