无法从Fragment转向活动(Not able to intent from Fragment to activity)

编程入门 行业动态 更新时间:2024-10-28 03:21:43
无法从Fragment转向活动(Not able to intent from Fragment to activity)

我已经从代码中添加了片段,并在创建时将数据从活动传递到片段,现在当我编写代码时,意图远离那些片段到其他一些活动我得到了... 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

本文发布于:2023-08-01 18:25:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1363615.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Fragment   intent   activity

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!