AndroidRuntime error : Parcel unable to marshal value
AndroidRuntime error : Parcel unable to marshal value
我已经编写了一个 class 像 this.but 当我使用它时这个被覆盖的方法发生了运行时错误
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeValue(synclistener);
}
我的class
public class SyncListenEntity implements Parcelable {
private LocationServiceProvider.LocationSyncNotifier synclistener;
public LocationServiceProvider.LocationSyncNotifier getSynclistener() {
return synclistener;
}
public void setSynclistener(LocationServiceProvider.LocationSyncNotifier synclistener) {
this.synclistener = synclistener;
}
public SyncListenEntity() {
}
protected SyncListenEntity(Parcel in) {
synclistener = (LocationServiceProvider.LocationSyncNotifier) in.readValue(LocationServiceProvider.LocationSyncNotifier.class.getClassLoader());
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeValue(synclistener);
}
public static final Parcelable.Creator<SyncListenEntity> CREATOR = new Parcelable.Creator<SyncListenEntity>() {
@Override
public SyncListenEntity createFromParcel(Parcel in) {
return new SyncListenEntity(in);
}
@Override
public SyncListenEntity[] newArray(int size) {
return new SyncListenEntity[size];
}
};
}
位置通知程序
public interface LocationNotifier {
void onNewLocationArrived(Location loaction, String privider);
}
异常:
java.lang.RuntimeException: Parcel: unable to marshal value
Caused by: java.lang.RuntimeException: Parcel: unable to marshal value
com.library.gps.SyncListenEntity.writeToParcel(SyncListenEntity.java)
android.app.ActivityManagerProxy.getIntentSender(ActivityManagerNative.java:3835)
com.library.gps.LocationServiceProvider.enableUserTrackingService(LocationServiceProvider.java:64)
com.ceylonlinux.multilac.activity.FrmHome.onCreate(FrmHome.java:365)
您正在尝试使用 writeParcel() 编写不符合文档中所述要求的对象。您只能将值写入 javadoc 中所述类型的 Parcel。
我已经编写了一个 class 像 this.but 当我使用它时这个被覆盖的方法发生了运行时错误
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeValue(synclistener);
}
我的class
public class SyncListenEntity implements Parcelable {
private LocationServiceProvider.LocationSyncNotifier synclistener;
public LocationServiceProvider.LocationSyncNotifier getSynclistener() {
return synclistener;
}
public void setSynclistener(LocationServiceProvider.LocationSyncNotifier synclistener) {
this.synclistener = synclistener;
}
public SyncListenEntity() {
}
protected SyncListenEntity(Parcel in) {
synclistener = (LocationServiceProvider.LocationSyncNotifier) in.readValue(LocationServiceProvider.LocationSyncNotifier.class.getClassLoader());
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeValue(synclistener);
}
public static final Parcelable.Creator<SyncListenEntity> CREATOR = new Parcelable.Creator<SyncListenEntity>() {
@Override
public SyncListenEntity createFromParcel(Parcel in) {
return new SyncListenEntity(in);
}
@Override
public SyncListenEntity[] newArray(int size) {
return new SyncListenEntity[size];
}
};
}
位置通知程序
public interface LocationNotifier {
void onNewLocationArrived(Location loaction, String privider);
}
异常:
java.lang.RuntimeException: Parcel: unable to marshal value
Caused by: java.lang.RuntimeException: Parcel: unable to marshal value
com.library.gps.SyncListenEntity.writeToParcel(SyncListenEntity.java)
android.app.ActivityManagerProxy.getIntentSender(ActivityManagerNative.java:3835)
com.library.gps.LocationServiceProvider.enableUserTrackingService(LocationServiceProvider.java:64)
com.ceylonlinux.multilac.activity.FrmHome.onCreate(FrmHome.java:365)
您正在尝试使用 writeParcel() 编写不符合文档中所述要求的对象。您只能将值写入 javadoc 中所述类型的 Parcel。