Ошибка при запуске деятельности - PullRequest
1 голос
/ 22 марта 2010

Я запускаю действие, когда кнопка нажата, и обычно (в других приложениях) не было проблем. Но когда я нажимаю кнопку в этом приложении, я получаю сообщение об ошибке «невозможно определить значение».

Точная (ish) ошибка из LogCat:

03-22 02: 49: 02.883: WARN / System.err (252): java.lang.RuntimeException: посылка: не в состоянии оценить {Classname} @ 44dcf1b8

Я чувствую, что это может быть связано с дополнительным, который я передаю намерению. Я передаю ArrayList как сериализуемый для этого нового намерения. Меня беспокоит, что структура данных, содержащаяся в ArrayList, не сериализуется (так как это структура личных данных).

Причиной этого является структура данных содержимого списка массивов? Что-то еще, что мне не хватает?

Ответы [ 3 ]

3 голосов
/ 25 апреля 2011

Убедитесь, что ваш класс также реализует Serializable. Тот факт, что сам ArrayList может быть сериализован, не означает, что сериализация будет работать, если ваш класс не сериализуем. Эта ошибка является именно той, которую вы получите, если попытаетесь сериализовать ArrayList класса, который не реализует Serializable.

2 голосов
/ 22 марта 2010

Попробуйте передать Parcelable вместо Serializable объекта, который решит проблему.

0 голосов
/ 05 марта 2015

Убедитесь, что используемый вами класс реализует Serializable :

Если вы делаете что-то вроде этого:

Cars cars;
bundle.putSerializable("mySerializable", (java.io.Serializable) cars);

Убедитесь, что класс Cars реализует сериализуемый:

public class Cars implements Serializable{
...