2013-10-18 37 views
1

我試圖從我的主要活動發起一項新的活動。我有:包裹:無法封送價值android.graphics.Path

Button butt = new Button(this); 
    butt.setText("Colors"); 
    butt.setBackgroundColor(paintCanvas.currentColor()); 
    butt.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View view) 
     { 
      Intent intent = new Intent(PaintCanvas.this, PaletteActivity.class); 
      startActivity(intent); 

     } 

    }); 

這將啓動新的活動,然後立即引發錯誤:

10-18 01:41:01.090 28582-28582/com.deekor.fingerpainting E/AndroidRuntime: FATAL EXCEPTION: main 
    java.lang.RuntimeException: Parcel: unable to marshal value [email protected] 
    at android.os.Parcel.writeValue(Parcel.java:1235) 
    at android.os.Parcel.writeList(Parcel.java:622) 
    at android.os.Parcel.writeValue(Parcel.java:1195) 
    at android.os.Parcel.writeMapInternal(Parcel.java:591) 
    at android.os.Bundle.writeToParcel(Bundle.java:1619) 
    at android.os.Parcel.writeBundle(Parcel.java:605) 
    at android.os.Parcel.writeValue(Parcel.java:1170) 
    at android.os.Parcel.writeSparseArray(Parcel.java:662) 
    at android.os.Parcel.writeValue(Parcel.java:1198) 
    at android.os.Parcel.writeMapInternal(Parcel.java:591) 
    at android.os.Bundle.writeToParcel(Bundle.java:1619) 
    at android.os.Parcel.writeBundle(Parcel.java:605) 
    at android.os.Parcel.writeValue(Parcel.java:1170) 
    at android.os.Parcel.writeMapInternal(Parcel.java:591) 
    at android.os.Bundle.writeToParcel(Bundle.java:1619) 
    at android.os.Parcel.writeBundle(Parcel.java:605) 
    at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:2078) 
    at android.app.ActivityThread$StopInfo.run(ActivityThread.java:2874) 
    at android.os.Handler.handleCallback(Handler.java:615) 
    at android.os.Handler.dispatchMessage(Handler.java:92) 
    at android.os.Looper.loop(Looper.java:137) 
    at android.app.ActivityThread.main(ActivityThread.java:4745) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:511) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
    at dalvik.system.NativeStart.main(Native Method) 

請告訴我去錯了嗎?我的觀點使用了路徑,但爲什麼會影響我說明一個新的活動?

+0

發佈完整堆棧跟蹤崩潰 – Shubhank

+0

@Dante更新了它。 – Deekor

+0

你在parcelActivity中重寫了'saveInstance'嗎? – Shubhank

回答

2

a Path不可序列化。我不得不創建自己的類來實現可序列化。

0

Path類沒有任何內容,它不會被序列化,所以你可以使用下面的類來代替Path。

public class SerializablePath extends Path implements Serializable { 
}