我在 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/