关闭

关于java.lang.NoSuchMethodException: <init> [class android.content.Context, interface android.util.Att

标签: androidView
127人阅读 评论(0) 收藏 举报
分类:

在使用自定义的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, 问题解决




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:822次
    • 积分:56
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档