Ich habe meine Klasse mit Serializable implementiert, aber es hat immer noch nicht funktioniert.Weitergabe von Daten durch Intent mit Serializable
Das ist meine Klasse:
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();
// }
}
Dies ist, was ich vorbei werden soll.
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);
Aber immer noch hat es nicht funktioniert. Ich weiß nicht, wie Parcelable zu verwenden ist, also verwende ich das stattdessen.
'Bitmap' Klasse nicht implementiert' Serializable'. Sie müssen hier "Parcelable" verwenden. Es ist jedoch keine gute Idee, Bitmaps mit 'Parcelable' zu übergeben. –
Was ist mit Byte-Array? implementiert es Serializable? –
ja, aber sei vorsichtig mit großen Objekten. Intent hat eine Größenbeschränkung für Extras –