У меня есть следующий класс:Deserialize массив изображения объектов
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
}
}
я создал впоследствии намерению следующим
DetailedProduct.Colour mCurrentColour;
Intent myIntent = new Intent(DetailsActivity.this, ImageGallery.class);
myIntent.putExtra("Images", mCurrentColour.getImages());
startActivity(myIntent);
В классе ImageGallery теперь я попытался следующий код:
Serializable extras = getIntent().getSerializableExtra("Images");
if (extras != null) {
images = (Image[]) extras;
}
Но я принимаю следующее исключение: java.lang.RuntimeException: U nable для запуска Activity ComponentInfo {com./com.productdetails.ProductImageGallery}: java.lang.ClassCastException: java.lang.Object [] не может быть передан в com.productdetails.DetailedProduct $ Image []
Как я могу сделать правильно сериализуемое к массиву Image
Пожалуйста, введите код для 'getImages()' и наведите указатель на минимальную активность – Raffaele
@Raffaele Посмотрите обновления –
Вам действительно нужны внутренние классы (то есть нестатические)? – Raffaele