Tag: parcelable

如何在实现Parcelable接口时读取/写入布尔值?

我试图做一个ArrayList Parcelable为了传递给一个活动的自定义对象列表。 我开始写一个扩展ArrayList<myObject>并实现Parcelable的myObjectList类。 MyObject某些属性是boolean但Parcel没有任何方法read/writeBoolean 。 处理这个问题的最好方法是什么?

在Android中使用Serializable是不好的?

我一直在阅读大量的post和文章,颂扬可串行化的速度。 我一直在使用两者之间的活动通过意图之间传递数据,还没有注意到两者之间切换时的速度差异。 我必须传输的典型数据量是5到15个嵌套对象,每个对象有2到5个字段。 由于我有大约30个类必须是可转移的,所以实现Parcelable需要大量的样板代码,这增加了维护时间。 我目前的要求之一是编译的代码应该尽可能小, 我希望能够通过使用Serializable over Parcelable来节省一些空间。 我应该使用Parcelable还是没有理由通过Serializable来使用这样的less量数据? 还是有另一个原因,我不应该使用Serializable?

读写Parcelable对象的数组

我有下面的类,它读/写一个包裹对象的数组: class ClassABC extends Parcelable { MyClass[] mObjList; private void readFromParcel(Parcel in) { mObjList = (MyClass[]) in.readParcelableArray( com.myApp.MyClass.class.getClassLoader())); } public void writeToParcel(Parcel out, int arg1) { out.writeParcelableArray(mObjList, 0); } private ClassABC(Parcel in) { readFromParcel(in); } public int describeContents() { return 0; } public static final Parcelable.Creator<ClassABC> CREATOR = new Parcelable.Creator<ClassABC>() { public ClassABC createFromParcel(Parcel in) […]

如何在Android中使用Intent将对象的ArrayList从一个传递给另一个活动?

我在我的onClick()方法中的代码如下 List<Question> mQuestionsList = QuestionBank.getQuestions(); 现在我有意图在这行后面,如下所示: Intent resultIntent = new Intent(this, ResultActivity.class); resultIntent.putParcelableArrayListExtra("QuestionsExtra", (ArrayList<? extends Parcelable>) mQuestionsList); startActivity(resultIntent); 我不知道如何将这个问题列表从意图从一个活动传递给另一个活动我的问题类 public class Question { private int[] operands; private int[] choices; private int userAnswerIndex; public Question(int[] operands, int[] choices) { this.operands = operands; this.choices = choices; this.userAnswerIndex = -1; } public int[] getChoices() { return choices; } […]

问题解组的问题

我有几个类实现Parcelable ,其中一些类包含对方作为属性。 我将这些类编组为一个包,以在活动之间传递它们。 将它们编组到这个包可以正常工作,但是当我尝试解除它们时,我得到以下错误: … AndroidRuntime E Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: schemas.Arrivals.LocationType AndroidRuntime E at android.os.Parcel.readParcelable(Parcel.java:1822) AndroidRuntime E at schemas.Arrivals.LayoverType.<init>(LayoverType.java:121) AndroidRuntime E at schemas.Arrivals.LayoverType.<init>(LayoverType.java:120) AndroidRuntime E at schemas.Arrivals.LayoverType$1.createFromParcel(LayoverType.java:112) AndroidRuntime E at schemas.Arrivals.LayoverType$1.createFromParcel(LayoverType.java:1) AndroidRuntime E at android.os.Parcel.readTypedList(Parcel.java:1509) AndroidRuntime E at schemas.Arrivals.BlockPositionType.<init>(BlockPositionType.java:244) AndroidRuntime E at schemas.Arrivals.BlockPositionType.<init>(BlockPositionType.java:242) AndroidRuntime E at schemas.Arrivals.BlockPositionType$1.createFromParcel(BlockPositionType.java:234) AndroidRuntime E at schemas.Arrivals.BlockPositionType$1.createFromParcel(BlockPositionType.java:1) … […]

如何通过捆绑发送对象

我需要将一个引用传递给通过一个bundle执行我的大部分处理的类。 问题是它与意图或上下文无关,并且有大量的非原始对象。 如何将类打包为parcelable / serializable并将其传递给startActivityForResult ?

帮助传递ArrayList和Parcelable Activity

所以我昨天大部分时间都在Google上search,而且最后还是一夜之间,似乎无法把我的脑袋绕过如何将一个数组列表传递给子活动。 有大量的例子和片段传递原始数据types,但我所拥有的是types地址 (address.java)的数组列表。 我已经find了很多东西在stackoverflow和networking上的这个,但没有得到很多的关注,除了一个GeoPoint的例子。 再次,它看起来像他们只是把GeoPoint对象变成两个整数,并通过它。我不能这样做,因为我的地址类可能扩大到包括整数,浮动,不pipe。 现在,下面的testing应用程序只是简单的两个string。 我想如果我能得到parcelalbe的东西,其余的可以跟随。 有人可以发布一个非基本对象的ArrayList的工作示例,或者可能添加下面的代码,使其工作? 更新 :下面的代码现在工作后的答复/编辑。 谢谢! /* helloParcel.java */ public class helloParcel extends Activity { // holds objects of type 'address' == name and state private ArrayList <address> myList; @Override public void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.main); Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(ocl); myList = new ArrayList(); […]

我怎样才能从一个活动传递一个位图对象到另一个

在我的活动中,我创build了一个Bitmap对象,然后我需要启动另一个Activity ,如何从子活动(即将启动的那个)传递这个Bitmap对象?

我怎样才能让我的自定义对象Parcelable?

我试图让我的对象Parcelable。 但是,我有自定义对象,这些对象有我做的其他自定义对象的ArrayList属性。 什么是最好的方法来做到这一点?