无法在android studio中解决方法'super()'错误

时间:2016-07-07 10:45:53

标签: android

我收到错误:“无法在我的代码中解析方法'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;
        }
    };

1 个答案:

答案 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"/>