我收到错误:“无法在我的代码中解析方法'super()'”,我不知道如何解决这个问题,你有什么线索吗?
代码如下:
public GeoView( double left, double top, double width )
{
super();
this.left = left;
this.top = top;
this.width = width;
this.transform = null;
this.backing_store = null;
this.sink = false;
this.last_size = new Rect(0, 0, 200, 200 );
this.do_tracking = false;
Drawable background = new Drawable() {
@Override
public void draw(Canvas canvas) {
}
@Override
public void setAlpha(int i) {
}
@Override
public void setColorFilter(ColorFilter colorFilter) {
}
@Override
public int getOpacity() {
return 0;
}
};
答案 0 :(得分:0)
什么是GeoView类?你把它扩展到另一个班级?
如是。检查父类是否具有空构造函数,因为您调用它
如果它是你自己的类,它没有扩展到任何其他类。然后,您无需致电super()
。
View没有空构造函数。 你应该至少有一个这个构造函数。
public GeoView(Context context) {
super(context);
}
public GeoView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public GeoView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
如果你想自己创建视图,你需要第一个构造函数。然后你必须
GeoView geoView = new GeoView(YourActivity.this);
或者您可以简单地将视图添加到布局中。然后你第二个将被称为构造函数。我想你应该加上所有这些。
<com.example.yourapp.GeoView
android:layout_height="300dp"
android:layout_width="match_parent"/>