androidx.core.os.ParcelableCompat 已弃用
androidx.core.os.ParcelableCompat is deprecated
应该使用什么,因为 class 已被弃用。 ParcelableCompat 已弃用,newCreator() 已弃用, ParcelableComparCreatorCallbacks<> 已弃用。谢谢!
public static final Parcelable.Creator<SavedState> CREATOR
= ParcelableCompat.newCreator(new ParcelableCompatCreatorCallbacks<SavedState>() {
@Override
public SavedState createFromParcel(Parcel in, ClassLoader loader) {
return new SavedState(in, loader);
}
@Override
public SavedState[] newArray(int size) {
return new SavedState[size];
}
});
Android dev Docs ask you to use Parcelable.ClassLoaderCreator 直接从 API v26.1.0 开始。
public static interface Parcelable.ClassLoaderCreator implements Creator<T>
android.os.Parcelable.ClassLoaderCreator<T>
来自 Android Developer 文档
ParcelableCompat class was deprecated in API level 26.1.0.
Use Parcelable.ClassLoaderCreator directly.
所以更改您的代码
public static final Parcelable.Creator<SavedState> CREATOR
= ParcelableCompat.newCreator(new ParcelableCompatCreatorCallbacks<SavedState>() {
@Override
public SavedState createFromParcel(Parcel in, ClassLoader loader) {
return new SavedState(in, loader);
}
@Override
public SavedState[] newArray(int size) {
return new SavedState[size];
}
});
到
public static final Parcelable.ClassLoaderCreator<SavedState> CREATOR
= new Parcelable.ClassLoaderCreator<SavedState>() {
@Override
public SavedState createFromParcel(Parcel source) {
return createFromParcel(source, null);
}
@Override
public SavedState createFromParcel(Parcel source, ClassLoader loader) {
return new SavedState(source, loader);
}
@Override
public SavedState[] newArray(int size) {
return new SavedState[size];
}
};
应该使用什么,因为 class 已被弃用。 ParcelableCompat 已弃用,newCreator() 已弃用, ParcelableComparCreatorCallbacks<> 已弃用。谢谢!
public static final Parcelable.Creator<SavedState> CREATOR
= ParcelableCompat.newCreator(new ParcelableCompatCreatorCallbacks<SavedState>() {
@Override
public SavedState createFromParcel(Parcel in, ClassLoader loader) {
return new SavedState(in, loader);
}
@Override
public SavedState[] newArray(int size) {
return new SavedState[size];
}
});
Android dev Docs ask you to use Parcelable.ClassLoaderCreator 直接从 API v26.1.0 开始。
public static interface Parcelable.ClassLoaderCreator implements Creator<T>
android.os.Parcelable.ClassLoaderCreator<T>
来自 Android Developer 文档
ParcelableCompat class was deprecated in API level 26.1.0.
Use Parcelable.ClassLoaderCreator directly.
所以更改您的代码
public static final Parcelable.Creator<SavedState> CREATOR
= ParcelableCompat.newCreator(new ParcelableCompatCreatorCallbacks<SavedState>() {
@Override
public SavedState createFromParcel(Parcel in, ClassLoader loader) {
return new SavedState(in, loader);
}
@Override
public SavedState[] newArray(int size) {
return new SavedState[size];
}
});
到
public static final Parcelable.ClassLoaderCreator<SavedState> CREATOR
= new Parcelable.ClassLoaderCreator<SavedState>() {
@Override
public SavedState createFromParcel(Parcel source) {
return createFromParcel(source, null);
}
@Override
public SavedState createFromParcel(Parcel source, ClassLoader loader) {
return new SavedState(source, loader);
}
@Override
public SavedState[] newArray(int size) {
return new SavedState[size];
}
};