java Android Parcelable类内部类不能有静态声明
我一直在尝试创建一个Android Parcelable对象,但一直遇到错误“内部类不能有静态声明”。作为参考,我一直在看位于here的官方Android教程
我目前的代码如下:
public class AppDetail implements Parcelable {
CharSequence label;
CharSequence name;
Drawable icon;
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeArray(new Object[] { this.label, this.name, this.icon });
}
public static final Parcelable.Creator<AppDetail> CREATOR
= new Parcelable.Creator<AppDetail>() {
public AppDetail createFromParcel(Parcel in) {
return new AppDetail(in);
}
public AppDetail[] newArray(int size) {
return new AppDetail[size];
}
};
public AppDetail() {}
public AppDetail(Parcel in) {
Object[] data = in.readArray(AppDetail.class.getClassLoader());
this.label = (String)data[0];
this.name = (String)data[1];
this.icon = (Drawable)data[2];
}
}
我在网上找到了另一个遇到类似问题的人,并得出结论,编译器不喜欢静态初始值设定项块(而不是静态类本身)——我尝试遵循这个建议,并这样声明:public static Parcelable.Creator<AppDetail> CREATOR
并在其他地方初始化——但我得到了相同的错误
我怎样才能得到这个/一些可以编译的东西
共 (0) 个答案