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

回到顶部