Android : Cannot cast from-View-Taste, um
Ich habe gerade angefangen, mit der Android, scheinen jedoch auf ein problem stoßen, dass ich einfach die Antwort nicht finden können. Ich erhalte den Fehler "Cannot cast from-Ansicht die Schaltfläche" auf diese Zeile :
Button myButton = (Button)findViewById(R.id.my_button);
Habe ich versucht, viele verschiedene Dinge um die es geht, und ich habe gesucht für die Antwort, aber aus irgendeinem Grund weigert, richtig zu arbeiten. Wenn jemand könnte mich in die richtige Richtung würde es sein am meisten geschätzt.
Danke im Voraus.
anzeigen von XML für layout
Kann sein, Sie erstellt die Klasse "Button" in Ihrem Projekt?
Kann sein, Sie erstellt die Klasse "Button" in Ihrem Projekt?
InformationsquelleAutor Mike | 2010-05-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen, diese,
InformationsquelleAutor sanjay
Ist das eine Ausnahme classcastexception-Fehler? Wenn ja, dann ist der Ansicht, Sie finden, mit der id
my_button
ist nicht eine Taste. Wenn es eine NullPointerException, dann ist es nicht Blick mit der id my_button. Dies könnte verursacht werden durch den Aufruf nicht setContent (), bevor Sie versuchen, finden die Blick auf.InformationsquelleAutor CaseyB
Ich habe auch festgestellt diesen Fehler und war nicht in der Lage, einen Grund zu finden, warum es passiert war. Wie Joe Plante Punkte aus, wenn es nicht funktioniert, dann stimmt etwas nicht....
In meinem Szenario habe ich zufällig geben die Relative Layout eine id (also ein Klick in eine leere Fläche in der Grafik) die gleiche ID, wie mein-button. Dies führte dazu, dass der falsche Blick zurück FindViewById(R. id.my_button);
Zu überprüfen und dies in Ihrer xml-sehen, wenn die
InformationsquelleAutor Bewczardski
Meine Vermutung ist, dass Ihre XML-Ansicht (my_button) ist nicht eine Taste. Ansonsten sind Sie sicher, dass die id für die Taste ist, richtig? Es Lesen sollte wie "
android:id="@+id/my_button"
" sowie eine Breite und eine Höhe. Bitte posten Sie Ihre XML-Datei.InformationsquelleAutor Chris
Neben alles andere schon gesagt, ich würde auch vorschlagen, dass Sie einen Blick auf Ihre import-Anweisungen am Anfang des Dokuments. Ich habe festgestellt, das eine bestimmte, sehr ärgerlich:
Tun, dies bedeutet, dass jedes mal, wenn Sie R. id.my_button in den rest des Programms, es sieht durch die Android-Standard-Ressourcen anstelle Ihres eigenen.
InformationsquelleAutor
Ich eigentlich stieß dieses im code, den ich Tat. Im Grunde war es der "Wenn es aussieht wie eine Ente und wenn es klingt wie eine Ente, warum dann die blutigen einfügen expletive hier bist du nicht sehen es als eine Ente?" - situation. Ich änderte das äquivalent von android:id="@+id/someid" durch ändern auf äquivalent von android:id="@+id/someid_x" (vergessen Sie nicht zu tun, das in Java auch) und alles funktionierte wie ein Uhrwerk wieder.
So, in meiner situation, ich glaube, dass es vielleicht eine ID gibt, verweisen auf ein anderes Objekt in der R-Tabelle, und es war immer die falschen oder unbeabsichtigten Eintrag. Das seltsamste ist, dass es begann zu geschehen, wenn eine Reihe von Ansichten in einem RelativeLayout
Android kann stur sein. Manchmal ändern die id, etwas, haben Sie auch mit der neuen id an, für eine Weile, und dann später, es zu ändern zurück zu der ursprünglichen id macht es laufen wieder gut. Nur sicherstellen, dass die id nicht verwendet an mehreren stellen in der gleichen xml. Kann man eigentlich die Wiederverwendung von ids in Android, da alle Sie sind meist als cookie-Krümel manipulieren zu können Ansichten (bitte korrigiert mich wenn ich falsch Liege)
InformationsquelleAutor Joe Plante
diese class cast exception aufgetreten beim aufrufen der widget-Typ-Fehlanpassung, wie Sie mit einem Bild in image1 Anzeigen, aber Sie fordern, dass im java-code durch die Verwendung von
ImageButton ib=(ImageButto) findViewById(R. id.image1);
dieser Zeit erhalten Sie die Meldung, dass
InformationsquelleAutor Jefri singh
Überprüfen, ob Sie verpasst haben, diese Linie
import android.view.View;
InformationsquelleAutor Ajay Vijayasarathy