Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 引用ImageView子类获取ClassCastException_Java_Android_Subclass_Android Imageview_Classcastexception - Fatal编程技术网

Java 引用ImageView子类获取ClassCastException

Java 引用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中,我在阅读后喜欢这

我有一个项目,我正在尝试为ImageView创建一个子类,以添加一些我想要使用的方法。我对Android编程只有几周的时间,所以我不是很有经验,而且对OOP还相当陌生。因为我不能让它在我的主项目中工作,我做了一个小测试项目,唉,我得到了同样的错误

首先,我创建了一个扩展ImageView的新类ImageViewCustom.java

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" ... />