Tag: parcelable

Android使用包含另一个hashmap的hashmap实现Parcelable对象

这是Android实现Parcelable对象的扩展, 它有hashmap但我的有点不同。 我有这些课程 public class EventDetails implements Parcelable { Private String id; Private String eventName; Private Long eventUnixTime; Private HashMap pickedUser = null; } 和 public class User implements Parcelable { private String email; private String userName; private String userPicture; private Boolean hasLoggedInWithPassword; private HashMap dateJoined = null; public User() { } public User(String email, […]

使用ArrayList 和扩展Parcelable的类

我在使用实现Parcelable的类读取字符串的ArrayList时遇到了麻烦。 我想将3个字符串列表发送到片段。 我不明白的另一件事是我如何使用这个类实际将这些数据发送到Fragment(我在其他地方读到你可以使用你自己的parcelable类来做这个,但我不确切知道如何)。 这是相关的代码,我会在我认为需要帮助的地方发表评论。 package com.tsjd.HotMeals; import java.util.ArrayList; import android.os.Parcel; import android.os.Parcelable; public class RecipeListViewParcer implements Parcelable{ private ArrayList titles; private ArrayList descriptions; private ArrayList images; private RecipeListViewParcer(Parcel in) { titles = in.readArrayList(String.class.getClassLoader()); //Need help here descriptions = in.readArrayList(String.class.getClassLoader()); //Need help here images = in.readArrayList(String.class.getClassLoader()); //Need help here } public int describeContents() { return 0; […]

如何将包含Bitmap的对象传递给另一个活动

所以我是Android开发中的新手,我试图制作一个加载图片(Bitmap)的注册活动( UserPrivateInfoSignUpActivity.java )并创建一个我想要传递给另一个Activity( UserGeneralDataSignUpActivity )的UserPersona对象。 我做了一个解决方案的研究,不知怎的,我仍然无法传递Bitmap图像,虽然它已经implements Parcelable 。 有什么建议么? 这是我的代码(没有getter和setter) PersonaUser.java: public class PersonaUser implements Parcelable{ private String puName; private String puEmailAddress; private String puCountry; private String puCity; private int puAge; private Bitmap puImage; public PersonaUser(String puName, String puEmailAddress, String puCountry, String puCity, int puAge, Bitmap puImage){ this.puName = puName; this.puEmailAddress = puEmailAddress; this.puCountry = […]

在Android中将Parcelables数组写入Parcel

我正在尝试使用writeParcelableArray编写一个将Parcelable实现为Parcel的对象数组。 我正在尝试编写的对象(正如您所期望的那样)被定义为: public class Arrival implements Parcelable { /* All the right stuff in here… this class compiles and acts fine. */ } 而我正试图将它们写成一个“包裹”: @Override public void writeToParcel(Parcel dest, int flags) { Arrival[] a; /* some stuff to populate “a” */ dest.writeParcelableArray(a, 0); } 当Eclipse尝试编译时,我收到错误: 绑定不匹配:Parcel类型的generics方法writeParcelableArray(T [],int)不适用于参数(Arrival [],int)。 推断类型Arrival不是有界参数的有效替代 我完全不明白这个错误信息。 Parcelable是一个接口(不是类),所以你不能扩展它。 有人有主意吗? 更新:当将Parcelable的ArrayList放入Intent时,我遇到了同样的问题: Intent i […]

Parcelable的readInt(),readFloat()等是否知道它们检索的是什么值?

如果你的类实现了parcelable,那么你知道你需要一个构造函数来让系统根据它刚刚收到的parcel来构造你的类。 所以通常像下面那样的构造函数必须被编写,这就是它有点令人困惑的地方: public myClass(Parcel in){ this.type = in.readInt(); this.size = in.readInt(); } 你看,如果有一个参数,这些读取相关的方法被调用如下: this.type = in.readInt(type); this.size = in.readInt(size); 然后很清楚发生了什么,但相反,它们根本没有任何参数。 所以我想知道:这应该怎么做? 这些方法在某种程度上是“聪明的”,你不必告诉他们要获得哪个领域,他们总能设法得到正确的方法吗? 还是顺序? 如果我像这样使用它: this.size = in.readInt(); this.type = in.readInt(); 我即将获得的领域都会搞砸了? 如果是这样的话,这不是乞求错误吗? 由于一个粗心的错误,我可能会在很长一段时间内做错事但只是在很长一段时间之后找到它?

在Parcelable中包裹读/写操作时,变量顺序是否重要?

我有一个Parcelable类的以下实现: public class DemoModel implements Parcelable { private String para1; private int para2; public DemoModel(){} protected DemoModel(Parcel in) { para1 = in.readString(); para2 = in.readInt(); } @Override public void writeToParcel(Parcel parcel, int i) { parcel.writeString(para1); parcel.writeInt(para2); } //other methods } 写入/读取包裹时维持秩序是否重要? 为什么?

Android Parcelable – 使用通用数据类型将数据读/写到Parcel

如何实现编写我的Set < ArrayList > Set < ArrayList >使用通用数据类型到我的包裹? 这是我的代码.. dest.writeList(getArrTRA()); dest.writeList(getArrTSAC()); dest.write???(getArrListSet()); //how can i write my Set<ArrayList<? public Set<ArrayList> getArrListSet() { return arrSetOfPaymentMode; }