使用したいメソッドを追加するために、ImageView のサブクラスを作成しようとしているプロジェクトがあります。私は Android のコーディングを始めてまだ 2 週間しか経っていないので、あまり経験がなく、OOP についてはまったくの初心者です。メイン プロジェクトで動作させることができなかったので、小さなテスト プロジェクトを作成しましたが、同じエラーが発生します。
まず、ImageView を拡張する新しいクラス ImageViewCustom.java を作成しました
public class ImageViewCustom extends ImageView {}
(スーパークラスからコンストラクターを追加しました)
ここを読んだ後、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: これはほとんど空のプロジェクトなので、非常に基本的なものが欠けていると思います。参考までに、今夜までに課題を片付けようと思っているのですが (えっ!)、コードの重複が多すぎてサブクラスを作成したいのですが、困惑してストレスが溜まっています >_< 睡眠不足などです。
(編集、コードフォーマットの修正...)