android中 自定义了一个MyView(继承自View类) 在xml布局文件中作为组件添加(无错误提示)但运行后报错

2025-02-26 20:08:11
推荐回答(2个)
回答1:

1、自定义view需要注意构造函数,所有的xml布局,初始化时构造函数使用的都是 (Context context, AttributeSet attrs) {两个参数的。如果没有该构造函数会报错。

2、如果有自定义属性,则需要在当前xml中引入工程包名,否则自定义属性会报错

这个问题报错的愿意是第一个,构造函数使用错误。增加构造函数就能解决问题。

比如:

public class MyView extends View{//下面2个构造函数都加上
  public MyView(Context context){
  }
  public MyView(Context context, AttributeSet attrs) {
     super(context, attrs);
  }
}

回答2:

自定义的 又不是根节点
MainActivity中修改为serContentView(new MyView(this));