threadid=1: thread exiting with uncaught.exception ......解决方法

 

 threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime(285): FATAL EXCEPTION: main
E/AndroidRuntime(285): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.service/com.example.service.FirstService}: java.lang.ClassCastException: com.example.service.FirstService
E/AndroidRuntime(285): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2643)
E/AndroidRuntime(285): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2736)
E/AndroidRuntime(285): at android.app.ActivityThread.access$2300(ActivityThread.java:142)
E/AndroidRuntime(285): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2564)

—————————————————————

今晚不小心,我也碰到了,我在对一个控件进行监听View.OnClickListener点击事件的时候,发生的错误,当时开始没仔细研究,然后百度谷歌各种搜了一堆,发现很多人也遇到了,但是最终都没有解决办法,然后静下心来研究!发现了问题,并提出两个解决方案!

原因是:(Button) findViewById(R.id.xxx);强制转换类型出错,你们把不支持点击事件的控件进行了button类型转换而实现View.OnClickListener 事件点击监听 ,然后就抱错了,这是根本原因!一般情况你们是把TextView或者非button的控件进行转换导致!

解决方案: 1, 进入布局文件把<TextView/>等样式直接改成<Button/>;
2, 用View取消button的强制转换,把类型转换成 View同样可以使用,并且和方法1不同的,2方法不影响控件的外形;

 

 

上面的是亲自测试通过,原文转载http://yinxingfei.com/?p=682

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2013-12-10 20:17  烟灭  阅读(997)  评论(0编辑  收藏  举报