gpt4 book ai didi

java - 引用 ImageView 子类获取 ClassCastException

转载 作者:行者123 更新时间:2023-11-29 05:48:30 30 4
gpt4 key购买 nike

我有一个项目,我正在尝试为 ImageView 创建一个子类,以添加一些我想使用的方法。我只接触 Android 编码几周,所以我不是很有经验,而且对 OOP 还很陌生。由于我无法在我的主要项目中使用它,所以我做了一个小测试项目,唉,我得到了同样的错误。

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

public class ImageViewCustom extends ImageView {}

(我已经添加了父类(super class)的构造函数)

在阅读 here 后,我确实喜欢在 XML 中

<ImageView class="com.example.testcustomclass.ImageViewCustom" 
android:id="@+id/imageViewCustom" ... />

这适用于构建和运行,但是当我尝试像这样在 MainActivity 中引用它时

ImageViewCustom imageViewTest = (ImageViewCustom)
findViewById(R.id.imageViewCustom);

我明白了...

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:我想我遗漏了一些非常基本的东西,因为这是一个几乎是空的项目。仅供引用,我想在今晚之前完成一项作业(呃!)并且得到了太多重复的代码我想做一个子类,但我很困惑并且压力很大 >_< sleep 不足等。

(编辑,修复代码格式...)

最佳答案

嗯,你的 XML 是关闭的......我总是使用

<com.my.project.MyView
android:id="..."
/>

我认为这是正确的做法。

关于java - 引用 ImageView 子类获取 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14900527/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com