另一个活动,所以我写了下面的代码:
*码:
//send object Intent intConnect = new Intent(mCtx.getApplicationContext(),ActConnect.class); Bundle bndConnect = new Bundle(); bndConnect.putParcelable("headerModel",(Parcelable) mheaderModel); bndConnect.putParcelable("DetailsModel",(Parcelable) mDetailsModel); intConnect.putExtras(bndConnect); intConnect.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mCtx.startActivity(intConnect);//receive objects in the receiving activity Bundle extras = getIntent().getExtras(); header headerModel = (header) extras.get("headerModel"); Details detailsModel = (Details) extras.get("DetailsModel");
但在运行时,我收到以下logcat:
logcat的:
10-08 11:55:44.225 13138-13138/com.example.com.bt_11 E/AndroIDRuntime﹕ FATAL EXCEPTION: mainProcess: com.example.com.bt_11,PID: 13138java.lang.classCastException: com.example.com.adapter.header cannot be cast to androID.os.Parcelable at com.example.com.adapter.MyExpandableList.onClick(MyExpandableList.java:152) at androID.vIEw.VIEw.performClick(VIEw.java:5184) at androID.vIEw.VIEw$PerformClick.run(VIEw.java:20893) at androID.os.Handler.handleCallback(Handler.java:739) at androID.os.Handler.dispatchMessage(Handler.java:95)
如何将非可分配对象从活动传递到另一个活动?
解决方法 你可以这样做:您的Model类如下所示:
public class ModelClass implements Serializable{ // Other stuff}
如何通过:
Intent mIntent = new Intent(mContext,NextActivity.class);mIntent.putExtra("headerModel",mheaderModel);startActivity(mIntent);
如何获得:
header headerModel = (header) getIntent.getSerializableExtra("headerModel");
希望这会帮助你.
总结以上是内存溢出为你收集整理的android – 如何将非parcelable对象从活动传递到另一个活动?全部内容,希望文章能够帮你解决android – 如何将非parcelable对象从活动传递到另一个活动?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)