我已经从代码中添加了片段,并在创建时将数据从活动传递到片段,现在当我编写代码时,意图远离那些片段到其他一些活动我得到了... java.lang.RuntimeException:Parcel:无法元帅价值
这是我在Main类中用来创建Fragments的代码
Log.e("list=",data.toString()); fragments.add(MyFragment.newInstance(data,values.toString(),response1)); data=new ArrayList<>(); pageAdapter=new MyPageAdapter(getSupportFragmentManager(),fragments); pager.setAdapter(pageAdapter);这是实际的Fragment类
public class MyFragment extends Fragment { public static final String EXTRA_MESSAGE = "EXTRA_MESSAGE"; public static final String EXTRA_MESSAGE1 = "Check"; public static final String EXTRA_MESSAGE2 = "Check1"; String order_id; private ProgressDialog pDialog; SwipeMenuListView listView; public static final MyFragment newInstance(List<Data> data,String check,String response) { MyFragment f = new MyFragment(); Bundle bdl = new Bundle(3); bdl.putSerializable(EXTRA_MESSAGE, (Serializable) data); bdl.putString(EXTRA_MESSAGE1, check); bdl.putString(EXTRA_MESSAGE2, response); f.setArguments(bdl); return f; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { List<Data> message = (List<Data>) getArguments().getSerializable(EXTRA_MESSAGE); final String show = getArguments().getString(EXTRA_MESSAGE1); final String responseaa=getArguments().getString(EXTRA_MESSAGE2); } }现在在OnCreateView中,当我使用intent转移到另一个活动时,它给出了java.lang.RuntimeException:Parcel:无法编组值
这是日志
java.lang.RuntimeException:Parcel:无法在android.os.Parcel.writeList(Parcel.java)的android.os.Parcel.writeValue(Parcel.java:1337)编组值com.sindhibandhan.digitalstrikers.dynamicfragement.Data@30898801 :711)在android.os.Parcel.writeValue(Parcel.java:1284)的android.os.Parcel.writeArrayMapInternal(Parcel.java:638)在android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1313)在android android的.us.Bundle.writeToParcel(Bundle.java:1096)在Android.os.Parcel.vriteBundle(Parcel.java:663)的android.support.v4.app.FragmentState.writeToParcel(Fragment.java:142)。 os.Parcel.writeTypedArray(Parcel.java:1191)在Android.os的android.os.Parcel.writeParcelable(Parcel.java:1357)的android.support.v4.app.FragmentManagerState.writeToParcel(FragmentManager.java:396) .Parcel.writeValue(Parcel.java:1262)位于android.os.B.B.B.A.R.Trite.PritePoParcel上android.os.Parcel.writeArrayMapInternal(Parcel.java:638)的android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1313) Bundle.java:1096) 在android.os.Parcel.writeBundle(Parcel.java:663)的android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:2992)安卓android.app.ActivityThread $ StopInfo.run(ActivityThread.java:3450)。 os.Handler.handleCallback(Handler.java:810)位于android.app.A.运行时的android.O.上运行android.O.Roper.loop(Looper.java:189)的android.os.Handler.dispatchMessage(Handler.java:99) (ActivityThread.java:5529)at java.lang.reflect.Method.invoke(Native Method)at java.lang.reflect.Method.invoke(Method.java:372)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller .run(ZygoteInit.java:956)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
I have added fragment from code and passed data from activity to fragment when they are created ,now when i write the code to intent away from that fragments to some other activity Im getting the...java.lang.RuntimeException: Parcel: unable to marshal value
This is the code I'm using in my Main class to create Fragments
Log.e("list=",data.toString()); fragments.add(MyFragment.newInstance(data,values.toString(),response1)); data=new ArrayList<>(); pageAdapter=new MyPageAdapter(getSupportFragmentManager(),fragments); pager.setAdapter(pageAdapter);This is the actual Fragment class
public class MyFragment extends Fragment { public static final String EXTRA_MESSAGE = "EXTRA_MESSAGE"; public static final String EXTRA_MESSAGE1 = "Check"; public static final String EXTRA_MESSAGE2 = "Check1"; String order_id; private ProgressDialog pDialog; SwipeMenuListView listView; public static final MyFragment newInstance(List<Data> data,String check,String response) { MyFragment f = new MyFragment(); Bundle bdl = new Bundle(3); bdl.putSerializable(EXTRA_MESSAGE, (Serializable) data); bdl.putString(EXTRA_MESSAGE1, check); bdl.putString(EXTRA_MESSAGE2, response); f.setArguments(bdl); return f; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { List<Data> message = (List<Data>) getArguments().getSerializable(EXTRA_MESSAGE); final String show = getArguments().getString(EXTRA_MESSAGE1); final String responseaa=getArguments().getString(EXTRA_MESSAGE2); } }Now in OnCreateView ,when Im using intent to move to another activity it is giving java.lang.RuntimeException: Parcel: unable to marshal value
This is the log
java.lang.RuntimeException: Parcel: unable to marshal value com.sindhibandhan.digitalstrikers.dynamicfragement.Data@30898801 at android.os.Parcel.writeValue(Parcel.java:1337) at android.os.Parcel.writeList(Parcel.java:711) at android.os.Parcel.writeValue(Parcel.java:1284) at android.os.Parcel.writeArrayMapInternal(Parcel.java:638) at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1313) at android.os.Bundle.writeToParcel(Bundle.java:1096) at android.os.Parcel.writeBundle(Parcel.java:663) at android.support.v4.app.FragmentState.writeToParcel(Fragment.java:142) at android.os.Parcel.writeTypedArray(Parcel.java:1191) at android.support.v4.app.FragmentManagerState.writeToParcel(FragmentManager.java:396) at android.os.Parcel.writeParcelable(Parcel.java:1357) at android.os.Parcel.writeValue(Parcel.java:1262) at android.os.Parcel.writeArrayMapInternal(Parcel.java:638) at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1313) at android.os.Bundle.writeToParcel(Bundle.java:1096) at android.os.Parcel.writeBundle(Parcel.java:663) at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:2992) at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3450) at android.os.Handler.handleCallback(Handler.java:810) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:189) at android.app.ActivityThread.main(ActivityThread.java:5529) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
最满意答案
您的Data对象不可序列化。
public class Data implements Serializable{ }检查此链接 。
Your Data object is not serializable.
public class Data implements Serializable{ }Check this link.
更多推荐
java,android,os,Parcel,EXTRA_MESSAGE,电脑培训,计算机培训,IT培训"/> <meta nam
发布评论