private String categoryname;
private String categorycode;
private IndustrialInformation_subcategory[] subcategory;
이와같이 String 변수 두개, 객체배열을 가지고 있습니다.
subcategory 의 클래스 구성입니다.
private String subcategoryname;
private String subcategorycode;
category, subcatgory 둘다 Parcelable 을 implements 하였구요.
category 클래스의 writeToParcel 메소드에서
bundle 에 put 하여 Parcel 에 writeBundle 한 상태입니다.
subcategory 는 putparcelablearray 를 통하였구요.
intent 로 category 만 넘겨주고, 다음 activity 에서 category 를 이용하여 subcategory 를 구하려고 합니다. 여기서 BadParcelableException 이 발생하거든요. 왜그럴까요 ㅜㅜ
Parcelable 구현하시지 마시구요
Intent 로 넘겨줄 클래스들을 Serializable 구현하시고요,
getSerializableExtra로 한번 받아보시겠어요?
저는 Parcelable 구현하는거 귀찮아서 Serializable 구현해서 사용하거든요^^;
감사합니다. 알려주신대로 parcel 에 읽고 쓰니 subcategory 에서도 createFromParcel() 작업이 수행되네요.
쓸때
dest.writeParcelableArray(this.subcategory, 0) 으로 수정하엿습니다.
그리고 읽을때
Parcelable[] p = in.readParcelableArray(subcategory.class.getClassLoader()); 이후에
subcategory = (subcategory[]) p;
로 형변환을 하였더니 ClassCastException 이 발생하네요 ㅜㅜㅜㅜ
subcategory 에서도 알려주신대로 변환을 하였고,
액티비티의 보내는 부분에서는
Intent intent = new Intent(this, 넘어갈클래스);
intent.putExtra("example", category);
startActivity(intent);
를 통해서 category 객체를 넘겨주었습니다.
그리고 넘어간 액티비티에서는
Bundle bundle = getIntent().getExtras();
Category category = bundle.getParcelable("example") 을 통해 category 객체를 받아서 그에 담겨있는 subcategory 를 구할려고 합니다 ㅜㅜ




IndustrialInformation_category.java
IndustrialInformation_subcategory.java