Java使用Serializable通过意图传递数据
我已经使用可序列化实现了我的课程,但仍然无法正常工作。
这是我的课:
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
,所以我改用它。
回答:
尝试使用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");
以上是 Java使用Serializable通过意图传递数据 的全部内容, 来源链接: utcz.com/qa/404949.html