在xml文件里添加这个部件时,比如<app.com.my.MyTextView .../>程序直接崩溃,而是在窗口onCreate之前崩溃。某此发现,必须实现3个构造函数,但是有时还是不行。那些方法是必须重载实现的?还有,好像必须至少实现一个构造函数,为什么这样,Java语言是不是不明确调用super的构造函数,父类的构造函数就不会被调用。

解决方案 »

  1.   

    如果要你那样继承视图的话,必须在该视图中实现两个参数的构造函数!如下:public MyTextView(Context context, AttributeSet attrs) {}否则程序会报错!在这里说明一下:含有两个构造参数的方法里第二个参数指的自定义的组件的一些属性,就像长宽一样,你可以给组件属性,就是通过这个来传递的!
      

  2.   

    问题是我3个构造函数都实现了,还有就是莫名其妙,我不实现,难道java不会调用父类的构造函数?
      

  3.   


     public MyView(Context context) {   
            super(context);   
               
        }   
           
        public MyView(Context context, AttributeSet attrs){   
            super(context, attrs);  
    }不管MyView继承自什么视图类,大多数会引起程序崩溃。只有ScrollView没有引起崩溃。