在FModel中发现问题,确实存在Uri。
通过编写解决此问题:
public class UriSerializer implements JsonSerializer<Uri> { public JsonElement serialize(Uri src, Type typeOfSrc, JsonSerializationContext context) { return new JsonPrimitive(src.toString()); }}public class UriDeserializer implements JsonDeserializer<Uri> { @Override public Uri deserialize(final JsonElement src, final Type srcType, final JsonDeserializationContext context) throws JsonParseException { return Uri.parse(src.getAsString()); }}并像这样进行Gson转换:
Gson gson = new GsonBuilder() .registerTypeAdapter(Uri.class, new UriSerializer()) .create(); bdl.putString("oModel",gson.toJson(oModel));并在oncreate中重建它:
Gson gson = new GsonBuilder() .registerTypeAdapter(Uri.class, new UriDeserializer()) .create(); jsonMyObject = args.getString("oModel"); mOrderModel = gson.fromJson(jsonMyObject, FModel.class);


