【发布时间】:2012-12-29 07:09:58
【问题描述】:
我已经用可序列化实现了我的类,但它仍然没有工作。
这是我的课:
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,所以我用这个代替。
【问题讨论】:
-
Bitmap类没有实现Serializable。你必须在这里使用Parcelable。但是,使用Parcelable传递位图并不是一个好主意... -
字节数组呢?它实现了 Serializable 吗?
-
是的,但要小心大物体。 Intent 对 extras 有大小限制
-
或者你可以像这样在位图之前添加瞬态
private transient Bitmap bitmap;
标签: java android android-intent