2014-12-18 1 views
1

직렬화 가능 객체를 직렬화 할 수없는 자식이있는 seralisable 클래스가 있습니다. 나는이 클래스의 객체를 ona android 활동에서 다른 활동으로 보내려고하지만 그럴 수는 없습니다. 클래스는 다음과 같다 : 클래스 B는하나의 Android 활동에서 다른 활동으로 직렬화 할 수없는 객체를 보내기 위해

public class B{ 

private int ID; 
protected String name; 

public B() {} 

... 
} 

직렬화 할 수없는

public class A implements Serializable{ 

/** 
* generated serial version UID 
*/ 
private static final long serialVersionUID = -3445290513860716092L; 

private B b; 

public A() {} 

public B getB() { 
    return b; 
} 

public void setB(B b) { 
    this.b = b; 
} 
} 

나는 개체를 보낼 의도의 putExtra 방법을 사용합니다.

Intent i = new Intent(ActivityA.this, ActivityB.class); 
A a = new A(); 
B b = new B(); 
b.setID(1); 
b.setName("Name"); 
a.setB(b); 
i.putExtra("object", a); 
startActivity(i); 

활동이 시작될 때 오류가 발생합니다. 뭐가 잘못 되었 니?

+0

귀하의 질문에 귀하의 질문에 답변했습니다. 직렬화 할 수 없습니다. –

답변

1

클래스를 직렬화하려면 모든 자식을 직렬화 할 수 있어야합니다. 직렬화 할 수없는 자식은 사용할 수 없습니다. 모든 자녀 (및 자녀)도 일련화할 수 있어야합니다.

관련 문제