내가 다음 클래스가 개체 :역 직렬화 이미지의 배열
:public class DetailedProduct implements Serializable {
//attributes + get and set
private Colour colour;
//get+set
public class Colour implements Serializable{
private ArrayList<Image> images;
//get+set
public Image[] getImages() {
return images.toArray(new Image[images.size()]);
}
}
public class Image implements Serializable{
private static final long serialVersionUID = 3460333138445770749L;
private String image1;
private String image2;
private String image3;
//get/set methods
}
}
내가 ImageGallery 클래스에서
DetailedProduct.Colour mCurrentColour;
Intent myIntent = new Intent(DetailsActivity.this, ImageGallery.class);
myIntent.putExtra("Images", mCurrentColour.getImages());
startActivity(myIntent);
을 다음과 같은 후 인 텐트를 만들어 지금 나는 다음과 같은 코드를 시도
Serializable extras = getIntent().getSerializableExtra("Images");
if (extras != null) {
images = (Image[]) extras;
}
하지만 다음 예외가 있습니다 : java.lang.RuntimeException : U java.lang.ClassCastException가 : java.lang.Object 상위 [] I 캐스팅 수있는 방법 com.productdetails.DetailedProduct $ 이미지 []
캐스트 할 수없는 네이블은 ComponentInfo {com./com.productdetails.ProductImageGallery} 활동을 시작합니다 정확하게 배열의 배열에 직렬화 가능
getImages() 코드를 추가하고 최소 액티비티를 연결하십시오. – Raffaele
@Raffaele 업데이트를 참조하십시오 –
정말 내부 클래스가 필요합니까 (예 : 비 정적)? – Raffaele