Recyclerview Adapter

  • Hallo,


    ich möchte gerne in einem Recyclerview Item den letzten Eintrag von jeweils 3 Array Listen ausgeben. In den folgenden Items natürlich die nächsten Einträge der 3 Listen usw.. Leider verstehe ich nicht wieso nicht alle Daten vom letzten Eintrag in einem Recyclerview Item ausgegeben werden sondern die Einträge verteilt werden auf die nächsten Recyclerviews. Wo könnte das Problem liegen?


  • Zitat

    ich möchte gerne in einem Recyclerview Item den letzten Eintrag von jeweils 3 Array Listen ausgeben.

    Das heist für mich du willst die Liste von unten nach oben durch gehen.



    Zitat

    einem Recyclerview Item ausgegeben werden sondern die Einträge verteilt werden auf die nächsten Recyclerviews.


    Du hast nur ein Recyclerview nicht mehrere.

    So wie ich es sehen hasst du alle angaben der drei Listen in einem Item. In deinem Layout R.layout.entry_item_layout sind bestimmt 16 TextViews enthalten. Das Ist dann für das Recycler ein Eintrag eine Pos.



    somit ist auch die Rückgabe der Anzahl der Items falsch „getItemCount()“

    Da reicht die Anzahl einer Liste. wenn in der Liste 10 Einträge sind werden es auch nur 10 Zeilen sein. Auch wenn dein Layout vielleicht 5 Zeilen hat für das Recycler ist es eine Pos.


    zeige mal das Layout



    Wenn ich falsch liege beschreibe dein Problem genauer.

  • Sorry, hab erst jetzt bemerkt das wer auf meinen Post geantwortet hat.


    Ich möchte jeweils den letzten Eintrag der 3 Listen im entry_item_layout ausgeben.


    Hier ist das XML davon:

  • Nein so meine ich das nicht. Ich möchte jeweils die letzten Einträge der 3 Listen in einem entry_item_layout bzw einem Reylcerview Item ausgeben. Die nächsten Einträge der 3 Listen in folgende Recyclerviews bzw in einem neuen entry_item_layout. Bin nicht sicher ob das verständlich ist aber hier ein Screenshot um das zu verdeutlichen:


    recycler hosted at ImgBB
    Image recycler hosted in ImgBB
    ibb.co


    Die Werte von "liezen_lagerhaus_tankstelle" sollen in das Layout "layoutLagerhaus", die Werte von "liezen_jet_tankstelle" in das Layout "layoutJet" und die Werte von "trautenfels_shell_tankstelle" in das Layout "layoutShell" der entry_item_layout.xml.


    Da wo noch "preis" steht sollen die entsprechenden Werte eingefügt werden also noch "liezen_jet_tankstelle" und "trautenfels_shell_tankstelle".

  • Das mit dem getItemViewType ist mist und brauchst du in deinem Fall auch nicht.

    Du willst doch alle Felder von deinem layout füllen. Also musst du das auch auf einmal in der

    onBindViewHolder -> bindEntry Methode machen ohne den getItemView…


    Da musst du allen TextView bei einem durchlauf setzen.


    Und der Rückgabewert getItemCount() ist nur die Anzahl einer Liste.

    also wenn in einer Liste 10 sind ist der Wert auch nur 10 und nicht 30

  • It sounds like the issue with your RecyclerView is that you are not properly handling the position when binding data from different lists. Since you're trying to display the last entries of each list, the logic for determining which entry to show is misaligned.


    You can try the below solution:


    Change how you handle positions in onBindViewHolder: Instead of assuming the same position across different lists, you should calculate the position based on the sizes of the lists.


    Bind data only if the position is within the bounds of the list: Check if you are trying to access an index that exists in each list.

    Here’s an updated version of your onBindViewHolder method:



    By ensuring that each position corresponds to the correct entry in its respective list, you should see the last entries displayed correctly in the RecyclerView.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!