java - 如何从 Parcelable 中正确读取可序列化?

标签 java serialization parcelable

我在 Parcelable 对象中有一个可序列化对象 (ArrayList)。我正在尝试读取可序列化对象,但在读取后我无法弄清楚如何准确地重建它:

public class WifiAP implements Parcelable {

public String _mac;
public String _mac2;
public String _ssid;
public boolean _dualband;
public int _band;  // kilohertz
public int _band2;
ArrayList<Integer> _rssis;

public Packet _beacon;

public void writeToParcel(Parcel out, int flags) {
    out.writeString(_mac);
    out.writeString(_mac2);
    out.writeString(_ssid);

    if(_dualband)
        out.writeInt(1);
    else
        out.writeInt(0);

    out.writeInt(_band);
    out.writeInt(_band2);
    out.writeSerializable(_rssis);
}

private WifiAP(Parcel in) {
    _mac = in.readString();
    _mac2 = in.readString();
    _ssid = in.readString();

    if(in.readInt()==1)
        _dualband=true;
    else
        _dualband=false;

    _band = in.readInt();
    _band2 = in.readInt();
    _rssis = in.readSerializable(); // help here, this throws an error
}

如何从 Parcel.readSerialized 正确重新创建 ArrayList?

最佳答案

尝试

   _rssis = (ArrayList<Integer>)  in.readSerializable();

关于java - 如何从 Parcelable 中正确读取可序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6878703/

相关文章:

java - 为什么这只能与这里的 return 语句一起使用?

java - 在循环之前设置一个整数值

java - 如何设置GWT单元格背景颜色

python - 获取python中类的类路径或 namespace ,即使它是嵌套的

android - 创建 Parcelable 的数据类

android - 通过 IPC 将对象列表从服务传递到 Activity 时,Parcelable 项目消失

java - Java-如何对TimSort和 “general contract violation”问题进行单元测试

c# - 为什么会出现序列化错误?

java - 序列化相对简单的 Java POJO 的最快方法?

java - 使用 Parcelable 包装器在 Android 外部使用 Parcelable 模型类