Ich habe einen RecycleView mit einem Adapter, der eine Liste von Servern anzeigt und der Benutzer muss einen Server auswählen.
wenn ich notifyItemChanged (previousPosition) in der onClick () Methode aufruft um den alten Server nicht auszuwählen und den neuen Server auszuwählen, Das bedeutet, dass die RecycleView-Liste genau in der Mitte der Liste nach oben springt.
und dieses Problem tritt auf, wenn ich auf einen der letzten zwei oder drei Server in der RecycleView-Liste klicke
Hier ist der Code meines RecyclerView.Adapter:
%Vor%irgendwelche Lösungen, um dieses Problem zu lösen? Danke.
Das Problem ist genau dann passiert, wenn ich die Layouthöhe angegeben habe und es nicht zu wrap_content
gehen lassen soll %Vor%oder wenn ich es zum Beispiel so unter etwas setze:
%Vor%Mein Code ist genau:
%Vor%Sieht aus, als wäre das ein Fehler: Ссылка
Die beste Problemumgehung scheint Barts Antwort zu sein, um die AutoMeasure-Eigenschaft des RecyclerViews LinearLayoutManager auf false zu setzen.
%Vor%
Das Set FixedSize auf True-Lösung hatte viel zu viele Nebenwirkungen ...
RecyclerView.setHasFixedSize (true)
für jeden, der über dieses Problem stolpert, versuchen Sie
%Vor%Dieser hat den Trick für mich getan.
Verwenden Sie
%Vor%hat auch funktioniert, aber in einigen Randfällen wirkte Recycler View komisch. Viel Glück!
Ich stieß auf das ähnliche Problem, kümmere mich nur um die XML-Layout-Datei.
Verwenden Sie nicht die Eigenschaften layout_below
, layout_above
oder andere ähnliche Eigenschaften in der übergeordneten Ansicht von RecyclerView oder RecyclerView.
Sie können LinearLayout weight
, layout_marginBottom
oder etw verwenden, um ein layout_below
oder ein anderes Ziel zu erreichen.
Tags und Links android android-recyclerview recycler-adapter