包裹:无法编组值android.util.Pair

时间:2015-10-05 17:09:56

标签: java android runtimeexception parcel

我正在使用对的数组列表,并尝试传递它以显示错误对话框。 错误对话框显示没有任何问题,但当页面暂停时,我收到以下错误:

E/AndroidRuntime(23733): Process: com.comcast.xfinityhome.tps, PID: 23733
E/AndroidRuntime(23733): java.lang.RuntimeException: Parcel: unable to marshal value android.util.Pair@cbb909ad
E/AndroidRuntime(23733): at android.os.Parcel.writeValue(Parcel.java:1337)
E/AndroidRuntime(23733): at android.os.Parcel.writeList(Parcel.java:711)
E/AndroidRuntime(23733): at android.os.Parcel.writeValue(Parcel.java:1284)
E/AndroidRuntime(23733): at android.os.Parcel.writeArrayMapInternal(Parcel.java:638)
E/AndroidRuntime(23733): at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1313)
E/AndroidRuntime(23733): at android.os.Bundle.writeToParcel(Bundle.java:1096)
E/AndroidRuntime(23733): at android.os.Parcel.writeBundle(Parcel.java:663)
E/AndroidRuntime(23733): at android.support.v4.app.FragmentState.writeToParcel(Fragment.java:136)


        ArrayList<Pair> errorData = new ArrayList<>(2);

        errorData.add(Pair.create("Value", "123"));
        errorData.add(Pair.create("name", "number"));

showErrorDialog(...., errorData);

1 个答案:

答案 0 :(得分:-1)

使用Parcelable扩展您的课程。阅读此tuto

此外,您可以转到之前提出的this问题。