0

Contentful CMS から Android アプリにエントリをフェッチしようとしています。このために、Vault を使用しています。アプリケーションで次のモデルを定義しました-

@ContentType("transportInfo")
public class TransportModel extends Resource {
    @Field String title;
    @Field List<Asset> gallery;
    @Field String description;
    @Field List<Asset> mapImage;
    @Field String phoneNumber;
    @Field String type;
    @Field Asset dayListImage;
    @Field Asset nightListImage;
    @Field String listSubtitle;
    @Field Integer sortIndex;
    @Field String dayHighlightColor;
    @Field String nightHighlightColor;
    @Field Integer numberOfZones;
    @Field Integer numberOfStations;
    @Field Integer totalKilometers;
    @Field String webSite;
}

以下は私の同期コードです-

CDAClient cdaClient = CDAClient.builder()
        .setSpace(getResources().getString(R.string.space_id))
        .setToken(getResources().getString(R.string.cms_token))
        .build();

mClient.appCDAClient = cdaClient;
SyncConfig config = SyncConfig.builder()
        .setClient(cdaClient)
        .build();

//sync
Vault.with(getActivity(), TransportSpace.class).requestSync(config, new SyncCallback() {
    @Override
    public void onResult(SyncResult result) {
        result.error();
        Vault vault = Vault.with(getActivity(), TransportSpace.class);
        List<TransportModel> response =  vault.fetch(TransportModel.class)
                .all();
        response.size();
    }

});

上記の同期リクエストの結果、次のエラーが表示されます-

java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap は java.util.List にキャストできません

これはギャラリーフィールドによるものだと思います。しかし、誰かがここで私を助けてくれませんか?

ありがとう!

4

1 に答える 1