を書き込み中:にStackOverflowError私はのは、彼らがこれらのように見えると仮定しましょう、2つのクラスを持っているParcelable
Movie.java
public class Movie implements Parcelable {
private int year;
private List<Actor> actors;
// Constructor, getters and setters, Parcelable implementation
}
Actor.java
public class Actor implements Parcelable {
private String name;
private Movie movie;
// Constructor, getters and setters, Parcelable implementation
}
そして今、私がしようとしています私はStackableflowErrorを取得することができます:
java.lang.StackOverflowError
at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1012)
at java.util.concurrent.ConcurrentHashMap.putIfAbsent(ConcurrentHashMap.java:1535)
at java.lang.ClassLoader.getClassLoadingLock(ClassLoader.java:463)
at java.lang.ClassLoader.loadClass(ClassLoader.java:404)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at android.os.Parcel.writeParcelable(Parcel.java)
atcom.example.android.data.model.Actor.writeToParcel(Actor.java:58)
at android.os.Parcel.writeTypedList(Parcel.java:1106)
at com.example.android.data.model.Movie.writeToParcel(Movie.java:70)
ここではネストされたクラスに問題があることを理解しています。これは、Movieをパーセルに書き込もうとするとActorを書き込もうとしますが、ActorではMovieを書き込もうとするからです。入れ子になったクラスの問題を回避するための方法
QUESTION
?
完全なエラーログを投稿 –
2行追加、残りは同じです。 – ThirdMartian
これは役に立つかもしれないhttp://stackoverflow.com/a/18177327/1320616 –