У меня есть проект, в котором я пытаюсь сделать подкласс ImageView, чтобы добавить некоторые методы, которые я хочу использовать. Я всего лишь пару недель в Android-кодировании, поэтому я не очень опытен и довольно новичок в ООП. Поскольку я не мог заставить его работать в моем основном проекте, я сделал небольшой тестовый проект, увы, у меня такая же ошибка.Ссылка на подкласс ImageView, получающий ClassCastException
Сначала я создал новый класс, который расширяет ImageViewCustom.java ImageView
public class ImageViewCustom extends ImageView {}
(я добавил конструкторов из суперкласса)
в XML Я сделал вот так, после прочтения here
<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: Я предполагаю, что у меня отсутствует что-то очень простое, так как это почти пустой проект. FYI Я пытаюсь получить задание, сделанное сегодня вечером (ах!), И получил так много дублирующего кода, что хотел сделать подкласс, но я был в тупике и стрессовом состоянии> < недостаток сна и т. Д.
(изменить , фиксируя форматирование кода ...)
Это работает, по-видимому, я сделал проблему Решая неправильный путь в той ссылке, которую я предоставил, ха-ха. Поговорите о путанице, спасибо! XD – BOLL