2012-12-16 22 views
7

Bir Runnable'ı grup aracılığıyla bir etkinliğe geçirmek istiyorum, böylece runnable, onCreate yangınları sırasında çalıştırılmalıdır. Serializable uygulayan bir sınıf yazdım ama istisna neden olur: "java.lang.RuntimeException: Parcelable encountered IOException writing serializable object". Kodum buraya: Bu Runnable benziyorBir runnable pakete nasıl yerleştirilir?

package some.company.common; 

import java.io.Serializable; 

public class SerializedRunnable implements Serializable, Runnable { 

    private static final long serialVersionUID = 6641813629033240205L; 

    public SerializedRunnable() { 
    } 

    private Runnable runnable; 

    public SerializedRunnable(Runnable runnable) { 
     this.runnable = runnable; 
    } 

    @Override 
    public void run() { 
     this.runnable.run(); 
    } 

} 
+2

o serileştirildi nesnenin sadece içeriği olan kontrol edin. Niçin atık gibi görünen bir runnable'ı serileştirmek istiyorsunuz. \t 'özel geçersiz readObject (ObjectInputStream aInputStream) \t \t \t, { \t \t IOException ClassNotFoundException atar: Her zaman bu verileri ve süreci götürecek başka Runnable sadece verilerini geçirebilirsiniz – nandeesh

cevap

0

seri hale getirilebilir değil. Kendi serileştirmenizi uygulamak için, readObject ve writeObject'u kendi başınıza uygulamalısınız.

here

+0

ben sadece bu gibi iki yöntem eklendi aInputStream.defaultReadObject(); \t} \t özel void writeObject (ObjectOutputStream aOutputStream) \t \t \t IOException { \t \t aOutputStream.defaultWriteObject (atar); ancak aynı hata devam ediyor. –