Ich war gerade dabei, eine Aktivität in ein Fragment zu verwandeln und bekam den folgenden Fehler, sobald ich den RecyclerView aufgeblasen habe.
%Vor%java.lang.IllegalStateException: RecyclerView hat keinen LayoutManager
Bevor ich meine Aktivität in ein Fragment änderte, lief die Inflation gut.
Einige weitere Untersuchungen haben ergeben, dass das Entfernen aller meiner untergeordneten Elemente aus dem recyclerview-Layout zur Lösung des Problems beigetragen hat. Allerdings verstehe ich nicht, warum das irgendwas ändern würde und warum es früher mit einer Aktivität gearbeitet hat.
FUNKTIONIERT
%Vor%FUNKTIONIERT NICHT
%Vor%Was fehlt mir hier?
Diese Frage ist ziemlich alt, aber zum Wohle der Menschen, die immer noch mit diesem Thema konfrontiert sind, dachte ich, ich würde eine Antwort hinterlassen. Ich lerne gerade Android-Entwicklung und dieses Problem war frustrierend. Später fand ich heraus, dass Sie keine Ansichten oder Ansichtsgruppen unter RecyclerView
hinzufügen dürfen. Das Layout, das unter RecyclerView
angezeigt werden soll, muss separat in einer unabhängigen Ressourcendatei definiert werden.
Dann können Sie in der Adapterimplementierung (die RecyclerView.Adapter<>
erweitert, in der überschriebenen Methode public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
, wenn Sie das Layout für die Ansicht aufblasen (dies vergrößert das Layout für jedes Element der Recycler-Ansicht) angeben Das obige separate Layout, das Sie erstellt haben. Android bläht dann dieses Layout für jedes Element auf, das der Recycler-Ansicht hinzugefügt werden muss.
Dieser Artikel hat mir geholfen Sieh das klar.
Ich hatte dasselbe Problem, als ich versucht habe, android-parallax-recycleview zu verwenden.
Die Lösung war einfach, Sie können den Layout Manager Manager manuell erstellen.
Code-Snippet von Beispiel-Parallaxrecycler :
%Vor% RecyclerView
ist ein ViewGroup
, für das LayoutManager
benötigt wird, um die Layouts seiner untergeordneten Elemente zu erstellen. In Ihrem Fall muss RecyclerView
die untergeordnete Ansicht an die LayoutManager
übergeben, aber ich bin mir nicht sicher, ob es möglich ist, die XML-Referenz von View an LayoutManager
zu übergeben.
Immer noch null Zeigerausnahme, auch wenn ich sie in onCreateView
initialisiere.
Fügen Sie es programmatisch hinzu.
%Vor%Tags und Links android android-fragments android-5.0-lollipop android-recyclerview