【发布时间】:2013-07-17 13:01:35
【问题描述】:
首先我检查了this answer。
我想要做的是扩展 Location 类调用它 LocationPlus 有一些
成员变量。我想要实现的功能是将LocationPlus 类的对象从一个活动传递到另一个活动。
这是我的CREATOR
public static final Parcelable.Creator<LocationPlus> CREATOR = new Parcelable.Creator<LocationPlus>() {
@Override
public LocationPlus createFromParcel(Parcel source) {
return new LocationPlus(source);
}
@Override
public LocationPlus[] newArray(int size) {
return new LocationPlus[size];
}
};
我面临的问题是这个错误
Implicit super constructor Location() is undefined. Must explicitly invoke another constructor
尝试编写构造函数时
public LocationPlus(Parcel in) {
有人在评论中让我发布 LocationPlus 课程,所以这里是
public class LocationPlus extends Location{
private int mBattery = -1;
public LocationPlus(String locationName) {
super(locationName);
}
public LocationPlus(Location location) {
super(location);
}
public int getmBattery() {
return mBattery;
}
public void setmBattery(int mBattery) {
this.mBattery = mBattery;
}
@Override
public int describeContents() {
return 0;
}
public static final Parcelable.Creator<LocationPlus> CREATOR = new Parcelable.Creator<LocationPlus>() {
@Override
public LocationPlus createFromParcel(Parcel source) {
return new LocationPlus(source);
}
@Override
public LocationPlus[] newArray(int size) {
return new LocationPlus[size];
}
};
@Override
public void writeToParcel(Parcel out, int flags) {
super.writeToParcel(out, flags);
out.writeInt(mBattery);
}
public LocationPlus(Parcel in) {
mBattery =in.readInt();
}
}
【问题讨论】:
-
发布您的 LocationPlus 课程
-
@Hasslarn 代码已发布。
-
只是好奇,如果你在 LocationPlus 中放置一个空的构造函数(尝试为空的和使用 super 调用)会说明什么:public LocationPlus() { super() }。我在这台机器上没有 Java,所以很遗憾我无法尝试。位置构造函数可能受到保护。
-
@Hasslarn 不幸的是,问题是父类没有空的构造函数
-
啊..,LocationPlus(Parcel in)中的super(this)呢?
标签: android inheritance android-location