Meine ursprüngliche Codezeile befindet sich in der überschriebenen Methode onGlobalLayout()
:
ClassCastException, die in der überschriebenen Methode onGlobalLayout()
-
Fehlerprotokoll:
%Vor%Und wenn ich folgendes mache, um den obigen Fehler zu beheben, wie in anderen SO-Posts angegeben:
%Vor%Dann bekomme ich den Fehler Kompilierzeit:
%Vor%ViewPager in XML ist wie folgt definiert:
%Vor% Ihr Bild hat bereits Layoutparameter. Anstatt sie durch ein neues Objekt zu ersetzen (das in diesem Fall vom falschen Typ ist, erwartet ViewPager
, dass sie ViewPager.LayoutParams
sind), können Sie vorhandene Layout-Parameter wie folgt ändern:
Beachten Sie, dass das bedingungslose Anfordern des Re-Layouts in onGlobalLayout()
eine schlechte Idee sein kann und zu unendlichen Layout-Pässen führt. Ich habe es selbst nicht überprüft, ob das der Fall ist.
Sie sollten sicherstellen, dass die LayoutParam
-Klasse, die Sie verwenden, aus der richtigen übergeordneten Layout-Klasse stammt. Und Sie müssen die LayoutParams der ViewGroup
festlegen, in der ViewPager
sitzt, als übergeordnetes Element von View
, das wissen muss, welche Größe der untergeordneten Ansicht zugewiesen werden soll.
Zum Beispiel ist in Ihrem Fall ViewGroup
ein RelativeLayout
, Sie müssen die Klasse RelativeLayout.LayoutParams
verwenden.
Sie können Folgendes versuchen:
%Vor%beste und einfache Antwort
gehe zu Projekt --- & gt; säubere dein Projekt --- & gt; renne noch einmal Problem wird gelöst
Tags und Links android classcastexception