gpt4 book ai didi

android - ArrayList 不能设置为模型类

转载 作者:行者123 更新时间:2023-11-29 02:29:49 25 4
gpt4 key购买 nike

我是 android 的新手。我有一个包含图像和其他属性的 JSONArray。我正在尝试将它设置到模型类中。

MenuContent singleItem = new MenuContent();
singleItem.setContent(mContentJsonObject.getString(AppConstants.APIKeys.CONTENT));
singleItem.setContentId(mContentJsonObject.getString(AppConstants.APIKeys.PARAGRAPH_ID));
singleItem.setChapterId(mContentJsonObject.getString(AppConstants.APIKeys.CHAPTER_ID));
singleItem.setClassId(getSharedPreference(AppConstants.APIKeys.CLASS_ID));
singleItem.setLanguageId(getSharedPreference(AppConstants.APIKeys.LANGUAGE_ID));
JSONArray mGalleryimages = mContentJsonObject.getJSONArray(AppConstants.APIKeys.PARAGRAPH_GALLERY_IMAGES);
for (int k = 0; k < mGalleryimages.length(); k++) {
JSONObject mGallerycontent=mGalleryimages.getJSONObject(k);
ImageGallery imageGallery = new ImageGallery();
imageGallery.setImageId(String.valueOf(k));
imageGallery.setImagePath(mGallerycontent.getString(AppConstants.APIKeys.PARAGRAPH_GALLERY_CONTENT));
array_image.add(imageGallery);

}
singleItem.setImageGallery(array_image);
singleItem.save();
mParagraphsList.add(singleItem);

问题是我可以将除 galleryimages 数组之外的所有属性设置到模型类。但是 setImageGallery 只不起作用。调试时我在那里得到 null。这是 MenuContent 模型类 fragment

ArrayList <ImageGallery> imageGallery;
public ArrayList<ImageGallery> getImageGallery() {
return imageGallery;
}

public void setImageGallery(ArrayList<ImageGallery> imageGallery) {
this.imageGallery = imageGallery;
}

ImageGallery 模型类 fragment

public void setImagePath(String imagePath) {
this.imagePath = imagePath;
}
public String getImagePath() {
return imagePath;
}

谁能告诉我问题出在哪里?感谢任何帮助。

最佳答案

此代码可以转换为 2 行,众所周知 Google Gson Library

看一眼这个。

Type listType = new TypeToken<List<MenuContent>>() {}.getType();
List<MenuContent> yourList = new Gson().fromJson(yourJson, listType);

您不必编写带有键解析的长代码。

关于android - ArrayList 不能设置为模型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50149095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com