Als «android-recyclerview» getaggte Fragen

Das RecyclerView-Widget ist eine erweiterte und flexiblere Version von ListView und GridView.

11
Erkennen Sie, wann RecyclerView beim Scrollen die unterste Position erreicht
Ich habe diesen Code für eine RecyclerView. recyclerView = (RecyclerView)rootview.findViewById(R.id.fabric_recyclerView); recyclerView.setLayoutManager(layoutManager); recyclerView.addItemDecoration(new RV_Item_Spacing(5)); FabricAdapter fabricAdapter=new FabricAdapter(ViewAdsCollection.getFabricAdsDetailsAsArray()); recyclerView.setAdapter(fabricAdapter); Ich muss wissen, wann die RecyclerView beim Scrollen die unterste Position erreicht. Ist es möglich ? Wenn ja, wie?

2
RecyclerView.ViewHolder - getLayoutPosition vs getAdapterPosition
Seit der neuen Version der Unterstützungsbibliothek (22.x) ist die getPosition()Methode der RecyclerView.ViewHolderKlasse anstelle der im Thema genannten Methoden veraltet. Ich verstehe den Unterschied nicht wirklich vom Lesen der Dokumente. Könnte jemand den Unterschied in Laienbegriffen erklären? Ich habe den folgenden Anwendungsfall: Ich gebe meinem Adapter ein Listund möchte außerdem zusätzliche …

7
RecyclerView horizontaler Bildlauf in der Mitte einrasten
Ich versuche hier mit RecyclerView eine karussellartige Ansicht zu erstellen. Ich möchte, dass das Element beim Scrollen einzeln in der Mitte des Bildschirms einrastet. Ich habe es versuchtrecyclerView.setScrollingTouchSlop(RecyclerView.TOUCH_SLOP_PAGING); Aber die Ansicht rollt immer noch reibungslos. Ich habe auch versucht, meine eigene Logik mit dem Scroll-Listener wie folgt zu implementieren: recyclerView.setOnScrollListener(new …

7
Deaktivieren Sie Swipe für die Position in RecyclerView mit ItemTouchHelper.SimpleCallback
Ich verwende recyclerview 22.2.0 und die Hilfsklasse ItemTouchHelper.SimpleCallback zu ermöglichen Swipe-to-abtun Option meiner Liste. Da ich jedoch eine Art Header habe, muss ich das Wischverhalten für die erste Position des Adapters deaktivieren. Da RecyclerView.Adapter keine isEnabled () -Methode hat, habe ich versucht, die Ansichtsinteraktion über die Methoden isEnabled () und …

8
Android fügt mit gridlayoutmanager einen Abstand unter dem letzten Element in der Recyclingansicht hinzu
Ich versuche, einen Abstand unterhalb der letzten Elementzeile RecyclerViewmit hinzuzufügen GridLayoutManager. Ich habe ItemDecorationfür diesen Zweck benutzerdefinierte mit Bodenpolsterung verwendet, wenn das letzte Element wie folgt lautet: public class SpaceItemDecoration extends RecyclerView.ItemDecoration { private int space; private int bottomSpace = 0; public SpaceItemDecoration(int space, int bottomSpace) { this.space = space; …

7
Handle Button Klicken Sie in RecyclerView in eine Zeile
Ich verwende den folgenden Code für die Behandlung von Zeilenklicks. ( Quelle ) static class RecyclerTouchListener implements RecyclerView.OnItemTouchListener { private GestureDetector gestureDetector; private ClickListener clickListener; public RecyclerTouchListener(Context context, final RecyclerView recyclerView, final ClickListener clickListener) { this.clickListener = clickListener; gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) …

11
Woher wissen Sie, ob ein RecyclerView / LinearLayoutManager nach oben oder unten gescrollt wird?
Derzeit verwende ich den folgenden Code, um zu überprüfen, ob SwipeRefreshLayout aktiviert werden soll. private void laySwipeToggle() { if (mRecyclerView.getChildCount() == 0 || mRecyclerView.getChildAt(0).getTop() == 0) { mLaySwipe.setEnabled(true); } else { mLaySwipe.setEnabled(false); } } Aber hier ist das Problem. Wenn es zur Ansichtsgrenze eines anderen Elements gescrollt wird, wird mRecyclerView.getChildAt(0).getTop()ebenfalls …

2
Gibt es eine bessere Möglichkeit, vom Adapter einen Verweis auf das übergeordnete RecyclerView abzurufen?
Ich habe einen Anwendungsfall, in dem ich einen Verweis auf das übergeordnete RecyclerViewElement innerhalb des Adapters benötige , insbesondere innerhalb der onBindViewHolderMethode. Bisher weise ich es einem privaten Klassenmitglied in der onCreateViewHolderMethode zu, die das viewGroup parentArgument wie folgt weitergibt : private ViewGroup mParent; @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int …


12
Recycler-Ansicht: Inkonsistenz festgestellt. Ungültiger Ansichtshalteradapter positionViewHolder
Inkonsistenz der Recycler-Ansicht Erkannter Fehler beim schnellen Scrollen oder beim Laden weiterer Elemente. FATAL EXCEPTION: main Process: com.pratap.endlessrecyclerview, PID: 21997 java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{56a082c position=40 id=-1, oldPos=39, pLpos:39 scrap [attachedScrap] tmpDetached no parent} at android.support.v7.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:4251) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4382) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363) at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961) at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333) at …


15
Recyclerview Ändern von Elementen während des Bildlaufs
Ich habe eine RecyclerView. Jede Zeile verfügt über eine Wiedergabetaste, eine Textansicht und eine Fortschrittsleiste. Wenn Sie auf die Wiedergabetaste klicken, müssen Sie Audio von meiner SD-Karte abspielen und fortschreiten. Fortschrittsbalken Das Problem ist, wenn ich in der Recycling-Ansicht nach unten scrolle, ändern Sie den Fortschrittsbalken in der nächsten Zeile. …

8
Warum wird das Hinzufügen eines OnClickListener in onBindViewHolder eines RecyclerView.Adapters als schlechte Praxis angesehen?
Ich habe den folgenden Code für eine RecyclerView.AdapterKlasse und es funktioniert gut: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.Viewholder> { private List<Information> items; private int itemLayout; public MyAdapter(List<Information> items, int itemLayout){ this.items = items; this.itemLayout = itemLayout; } @Override public Viewholder onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(itemLayout, parent, false); …



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.