Редактировать: это решено в версии 2.4. Обновите ваш composer.json и наслаждайтесь.
У меня та же проблема. Что-то, что я попробовал, это возврат для массива вместо метода преобразования объекта. Это работает, но не реальное решение.
похоже, что денормализатор вызывается 2 раза: один раз для вашего преобразователя, а затем для преобразования «CreativeElement» в «CreativeElement» с помощью AbstractItemNormalizer
$context['api_denormalize'] = true;
$context['resource_class'] = $class;
$inputClass = $this->getInputClass($class, $context);
if (null !== $inputClass && null !== $dataTransformer = $this->getDataTransformer($data, $class, $context)) {
$data = $dataTransformer->transform(
parent::denormalize($data, $inputClass, $format, ['resource_class' => $inputClass] + $context),
$class,
$context
);
}
return parent::denormalize($data, $class, $format, $context);
Также ищем решение
У вас есть несколько Опции:
1) Используйте Bundle из Intent :
Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);
2) Создайте новый Bundle
Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);
3) Используйте putExtra () сокращенный метод Intent
Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);
Затем в запущенном Activity вы могли бы прочитать их с помощью:
String value = getIntent().getExtras().getString(key)
ПРИМЕЧАНИЕ: В наборах есть методы «get» и «put» для всех примитивных типов, Parcelables и Serializables. , Я просто использовал строки в демонстрационных целях.
Вы можете использовать Пакет из Намерения:
Bundle extras = myIntent.getExtras();
extras.put*(info);
Или целый пакет:
myIntent.putExtras(myBundle);
Это то, что вы ищете?