-3

我在android编程中有一个ImageButton的问题,我放了logcat,如果有人可以帮我解决它:

java.lang.RuntimeException:无法启动活动 ComponentInfo{com.app/com.app.MainActivity}:java.lang.ClassCastException:android.widget.ImageButton 无法转换为 android.widget.Button ... 原因:java .lang.ClassCastException: android.widget.ImageButton 不能转换为 android.widget.Button

4

2 回答 2

3
ImageButton b = (ImageButton) findViewById(R.id.myImageButton);

http://developer.android.com/reference/android/widget/ImageButton.html

从日志中,您将其转换为Button,而不是ImageButton. 两个截然不同的对象。

于 2013-02-15T00:05:58.983 回答
2

这意味着您不能将 ImageButton 转换为 Button。相反,您需要以不同的方式处理您的铸造情况。

不能铸造它们的原因是:

遵循 ImageButton 的流程:

java.lang.Object ↳ android.view.View ↳ android.widget.ImageView ↳ android.widget.ImageButton

结论

由于它不扩展 Button,因此您不能将其转换为该类型。虽然这个名字用词不当,因为它叫做 ImageButton..

于 2013-02-15T00:06:02.757 回答