Управление передачей между Activity
экземплярами рассматривается как межпроцессное общение. Intent
содержит параметры управления и данных этого «соглашения о вызове».
Из-за этого существуют ограничения на то, что вы можете пройти. Объект Intent
может передавать только объекты, которые могут храниться в Bundle
. Сюда относятся типы «значения», некоторые типы ArrayList
, Parcelable
и Serializable
. Произвольный объект не может быть передан. См. here и here.
Ksoap2 KvmSerializable
не является производным от Serializable
. Вы должны сериализовать и десериализовать его самостоятельно.
Вы можете сделать подкласс SoapObject
, и вы можете добавить Serializable
к нему напрямую. Тем не менее, вы должны использовать ksoap2 API для участия в Java Serialization, что означает, что вы должны внедрить некоторый код для учета «внутренних дел» вашего SoapObject
.
Другой альтернативой является создание подкласса SoapObject
интерфейса Parcelable
. Код для реализации похож на пользовательскую сериализацию Java.
Вы можете передать исходный XML, если это доступно, затем повторно разобрать его в принимающем Activity
.
В крайнем случае, @RajanBhavsar выше рекомендовал строку JSON, это разумный план. Поскольку API ksoap2, похоже, использует «косвенную» модель свойств, я не уверен, как это произойдет автоматически.
Вы пробовали с помощью GSon, чтобы разобрать его в String и передать эту строку в другую активность, а затем снова передать в SoapObject во время Fetching. Поскольку я также не используется, но если вы хотите попробовать, я предоставил код. –