包裹:无法编组值android.widget.RelativeLayout

时间:2016-07-01 18:18:32

标签: android android-layout serializable parcel

我遇到了一种数据类型(ViewGroup的ArrayList)的问题,我希望在ResultActivity.class中传递。此ViewGroup包含通过xml创建的布局块。

其中一个块已存在于IPActivity类管理的主布局中,其在java代码中的名称为mFirstBlock。我在arrayList中插入mFirstBlock后。然后,用户可以使用按钮添加相同的新块。我在arrayList中添加了所有这些块。

这是布局文件:

FATAL EXCEPTION: main
java.lang.RuntimeException: Parcel: unable to marshal value android.widget.RelativeLayout{42763ed8 V.E..... ......I. 0,176-656,352}
  at android.os.Parcel.writeValue(Parcel.java:1235)
  at android.os.Parcel.writeList(Parcel.java:622)
  at android.os.Parcel.writeValue(Parcel.java:1195)
  at android.os.Parcel.writeMapInternal(Parcel.java:591)
  at android.os.Bundle.writeToParcel(Bundle.java:1646)
  at android.os.Parcel.writeBundle(Parcel.java:605)
  at android.content.Intent.writeToParcel(Intent.java:7353)
  at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:2222)
  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1436)
  at android.app.Activity.startActivityForResult(Activity.java:3464)
  at android.app.Activity.startActivityForResult(Activity.java:3425)
  at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:842)
  at android.app.Activity.startActivity(Activity.java:3661)
  at android.app.Activity.startActivity(Activity.java:3629)
  at giusso.simone.indirizzamentoipsubnettingrete.IPActivity$5.onClick(IPActivity.java:122)
  at android.view.View.performClick(View.java:4475)
  at android.view.View$PerformClick.run(View.java:18786)
  at android.os.Handler.handleCallback(Handler.java:730)
  at android.os.Handler.dispatchMessage(Handler.java:92)
  at android.os.Looper.loop(Looper.java:176)
  at android.app.ActivityThread.main(ActivityThread.java:5419)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:525)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
  at dalvik.system.NativeStart.main(Native Method)

这是java代码:

std::vector

我只编写了最适合我的代码来解决此问题。

Logcat错误如下:

pod_vector<>

我读了很多问题,问题是通过序列化界面解决的,它被用于为新活动传递的类,但在这种情况下,我不知道解决这个问题的方法

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您无法在活动之间传递视图,例如ViewGroup

如果这些活动紧密耦合,则使用片段或其他技术将它们组合成单个活动。