ClassCastException falsch

  • Hallo zusammen,


    Ich programmiere aktuell eine App zu einem Kartenspiel. Dabei lege ich bei der SpielfeldActivity ein Array aus ImageButtons zurecht, jedoch wirft LogCat ständig eine ClassCastException: "android.widget.ImageView can not be cast to android.widget.ImageButton". Ich weiß nicht woran das liegt, da es sich im xml-File und auch bei der Belegung um einen ImageButton handelt, dies hab ich mehrmals überprüft. Außerdem tritt der Fehler erst seit kurzem auf, aber auch ein Neustart des PCs, des Emulators, von Eclipse und ein CleanUp lieferten keine Ergebnisse. Ich sehe hier den Fehler nicht. Hat jemand Erfahrungen mit dieser Begebenheit? Würde mich sehr über Antworten freuen.


    Vielen Dank im Voraus!


    -----------------------------------------------------------------
    xml-File:
    <ImageButton
    android:id="@+id/k1"
    android:layout_width="55dp"
    android:layout_height="100dp"
    android:layout_alignTop="@+id/k0"
    android:layout_toStartOf="@+id/k2"
    android:background="@drawable/kartenruckseite"
    android:src="@android:drawable/btn_star" />


    Java:
    private ImageButton k[] = new ImageButton[5];
    ....
    k[1] = (ImageButton) findViewById(R.id.k1);

  • +puh+
    Da fällt es mir wirklich schwer nicht sofort über alles Mögliche bezüglich der Rangehensweise loszumeckern. ^^


    Egal.
    Bei streng statisch typisierten Programmiersprachen wie Java gilt: Der Compiler hat immer recht. IMMER!!!


    Also nix mit "ClassCastException falsch". Du kannst Deinen Hintern darauf verwetten, dass die ClassCastException goldrichtig ist.


    In Deinem Fall gibt es dafür eigentlich nur eine Möglichkeit:
    1) Irgendwo in Deinem XML gibt es die ID 'k1' für ein ImageView.


    Wie stellst Du sicher, dass in dem XML gesucht wird, das Du hier dargestellt hast?
    Wie viele XML hast Du noch, in denen es irgendeine ID 'k1' gibt?

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!