https://www.3566t.com/news/show-5683902.html
项目的报错
:Unable to start activity ComponentInfo{com.jindaozi.app/com.jindaozi.app.activity.financ.SubmitPayActivity}:
java.lang.RuntimeException: Parcel android.os.Parcel@439e4cf0: Unmarshalling unknown type code 7471216 at offset 292
原因:在传递parcel传递数据时候,数据的读取顺序没有一致,部分手机会出现闪退现象
解决方法:读取的顺序应该一致
/**
* 这里的读的顺序必须与writeToParcel(Parcel dest, int flags)方法中
* 写的顺序一致,否则数据会有差错,比如你的读取顺序如果是:
* nickname = source.readString();
* username=source.readString();
* age = source.readInt();
* 即调换了username和nickname的读取顺序,那么你会发现你拿到的username是nickname的数据,
* 而你拿到的nickname是username的数据
* @param source
*/
public Person(Parcel source) {
username = source.readString();
nickname=source.readString();
age = source.readInt();
}
/**
* 把值写入Parcel中
*/
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(username);
dest.writeString(nickname);
dest.writeInt(age);
}