本帖最后由 a2696869420 于 2014-12-21 16:52:08 编辑

解决方案 »

  1.   

    你自己调用自己的函数 当然是无限调用 直到方法stack溢出。
    你要改一下你的setBackground方法名字,里面再调用super.setBackground方法。
      

  2.   

    那怎么用,我改过名字后super不了.
      

  3.   

    一楼是让你在原来的基础上改,setBackground(Drawable)这个方法是覆盖了父类的方法,如果在里面直接用setBackground的话就是调用自己类中的方法,这样就一直递归调用的栈溢出了。
    所以有两种方式:
    1.在setBackground(Drawable)中调用super.setBackground(),这样就可以了。
    2.修改setBackground的方法名,然后在里面调用setBackground(当然super.setBackground也可以)看看你是不是继承的View,或者跟方式上面的SupperssWarnings这个标签有关。
      

  4.   

    恩,我查看了下,我也是这样改的,我到最后才发现这个super.setBackground()方法要考虑版本问题,最低要16版本,低于这个版本就会出现我这个错误,可以用this.setBackgroundDrawable代替,但这个方法过时了.
    再次多谢大家指点