在使用自定义的View时报错
java.lang.NoSuchMethodException: <init> [class android.content.Context, interface android.util.Attr
代码如下:
布局文件
<com.wupei.shadertest.MyView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/myView"
android:layout_gravity="center_horizontal" />
自定义的View
public class MyView extends View {
Paint paint;
public MyView(Context context) {
super(context);
paint = new Paint();
}
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawRect(0, 0, getWidth(), getHeight(), paint); }}
于是将构造方法
public MyView(Context context) {
super(context);
paint = new Paint();
}
改为
public MyView(Context context, AttributeSet set) {
super(context, set);
paint = new Paint();
}
但是依然报错
java.lang.NoSuchMethodException: <init> [class android.content.Context, interface android.util.Attr
于是将成员变量Paint paint改为 public Paint paint, 问题解决