关于java.lang.StackOverflowError的问题求各路朋友和大神指点 本帖最后由 a2696869420 于 2014-12-21 16:52:08 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你自己调用自己的函数 当然是无限调用 直到方法stack溢出。你要改一下你的setBackground方法名字,里面再调用super.setBackground方法。 那怎么用,我改过名字后super不了. 一楼是让你在原来的基础上改,setBackground(Drawable)这个方法是覆盖了父类的方法,如果在里面直接用setBackground的话就是调用自己类中的方法,这样就一直递归调用的栈溢出了。所以有两种方式:1.在setBackground(Drawable)中调用super.setBackground(),这样就可以了。2.修改setBackground的方法名,然后在里面调用setBackground(当然super.setBackground也可以)看看你是不是继承的View,或者跟方式上面的SupperssWarnings这个标签有关。 恩,我查看了下,我也是这样改的,我到最后才发现这个super.setBackground()方法要考虑版本问题,最低要16版本,低于这个版本就会出现我这个错误,可以用this.setBackgroundDrawable代替,但这个方法过时了.再次多谢大家指点 新人送分 android java代码结构问题。 如何读取本机手机号码。并发送给指定的微信或者手机号码 Android 有什么好的反编译工具的源码吗? 超级难题,搜索不到任何答案,至少求助大侠们 怎么给LinearLayout 增加onClickListener事件 Runs Android List问题,无法启动模拟运行 如何使用Android ContentObserver 监听数据库变化 安卓如何实现这个效果 Activity 如何更新Fragment Volley 框架使用问题 求教:startActivity(intent)报错 android的RSA加密
你要改一下你的setBackground方法名字,里面再调用super.setBackground方法。
所以有两种方式:
1.在setBackground(Drawable)中调用super.setBackground(),这样就可以了。
2.修改setBackground的方法名,然后在里面调用setBackground(当然super.setBackground也可以)看看你是不是继承的View,或者跟方式上面的SupperssWarnings这个标签有关。
再次多谢大家指点