Ich versuche, Spinner
Android Klasse in meinem Code zu erweitern, um eine neue Funktion zu implementieren, aber aus irgendeinem Grund hat das nicht funktioniert.
Dies ist die erweiterte Klasse:
%Vor%Und das ist die Art, wie ich diese Klasse instanziiere:
%Vor%Dies gibt mir einen Fehler zur Laufzeit.
All dies ist, wenn R.id.sphofentries
in meinem Layout als Spinner deklariert ist.
Aber jetzt, wenn ich sphofentries
als CustomSpinner
deklariere, erhalte ich einen Laufzeitfehler genau in dem Moment, als ich das Layout auf die Aktivität setze:
Ich bin mir auch ziemlich sicher, dass das Problem ist, dass ich sphofentries
als CustomSpinner
deklarieren muss, denn wenn ich das tue:
Dies geht ohne Problem durch die erste Zeile, aber gibt einen Laufzeitfehler in der zweiten, dann ist das Problem nicht eine neue CustomSpinner
erstellen, sondern die sphofentries
in dieser CustomSpinner
(Dies mit sphofentries
wie deklariert a Spinner
nicht CustomSpinner
).
Vielleicht mache ich etwas falsch im Layout, das ist die Art, wie ich sphofentries
als CustomSpinner
deklariere:
Schließlich gab es zwei Gründe dafür, dass dies nicht richtig funktioniert, die zwei vorherigen Antworten haben Recht:
Es ist notwendig, auch den zweiten Konstruktor mit dem Parameter AttributeSet zu definieren.
%Vor%Im Layout muss der Spinner als CustomSpinner definiert sein und muss mit dem vollständig qualifizierten Namen deklariert werden:
%Vor% Sind die Schfenfratrien ein Spinner
oder ein CustomSpinner
?
Es müsste in Ihrem Layout als CustomSpinner
deklariert werden, damit Sie es in Ihrem Code als CustomSpinner
darstellen können.
Der umgekehrte Weg würde funktionieren. Sie könnten CustomSpinner
als Spinner
darstellen, da es sich um eine Unterklasse handelt.
Tags und Links android android-spinner