Java 引用ImageView子类获取ClassCastException
我有一个项目,我正在尝试为ImageView创建一个子类,以添加一些我想要使用的方法。我对Android编程只有几周的时间,所以我不是很有经验,而且对OOP还相当陌生。因为我不能让它在我的主项目中工作,我做了一个小测试项目,唉,我得到了同样的错误 首先,我创建了一个扩展ImageView的新类ImageViewCustom.javaJava 引用ImageView子类获取ClassCastException,java,android,subclass,android-imageview,classcastexception,Java,Android,Subclass,Android Imageview,Classcastexception,我有一个项目,我正在尝试为ImageView创建一个子类,以添加一些我想要使用的方法。我对Android编程只有几周的时间,所以我不是很有经验,而且对OOP还相当陌生。因为我不能让它在我的主项目中工作,我做了一个小测试项目,唉,我得到了同样的错误 首先,我创建了一个扩展ImageView的新类ImageViewCustom.java public class ImageViewCustom extends ImageView {} (我已经从超类中添加了构造函数) 在XML中,我在阅读后喜欢这
public class ImageViewCustom extends ImageView {}
(我已经从超类中添加了构造函数)
在XML中,我在阅读后喜欢这样做
我得到
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.testcustomclass.MainActivity}:
java.lang.ClassCastException: android.widget.ImageView
cannot be cast to com.example.testcustomclass.ImageViewCustom
我做错了什么?D:我想我错过了一些非常基本的东西,因为这是一个几乎是空的项目。仅供参考,我试图在今晚之前完成一项作业(嗯!),而且有太多重复的代码,我想做一个子类,但我被难住了,压力很大><睡眠不足等
(编辑、修复代码格式…您的XML已关闭。。。我总是用
<com.my.project.MyView
android:id="..."
/>
我认为这是正确的方法。如果在xml布局中引用视图,则不需要使用类 替换
<ImageView class="com.example.testcustomclass.ImageViewCustom"
android:id="@+id/imageViewCustom" ... />
与
这很有效,显然我在提供的链接中解决问题的方式不对,哈哈。说说混乱,谢谢!除息的
<com.my.project.MyView
android:id="..."
/>
<ImageView class="com.example.testcustomclass.ImageViewCustom"
android:id="@+id/imageViewCustom" ... />
<com.example.testcustomclass.ImageViewCustom
android:id="@+id/imageViewCustom" ... />