SCHRITT 2 ->



 Wir möchten Werbebanner (oder andere Banner) auf bestimmten Positionen im Benutzeradapter haben.
dafür fügen wir DummyObjects hinzu (siehe Klasse DummyObject)
Hier werden itemViewType und position als Parameter im Konstruktor verwendet
 überschreiben  Spaß  createOtherItemList 
 () {
         var  dummyObject  =  DummyObject  ( 1  1 
)
  var  dummyObject2  =  DummyObject  ( 1  3 
)
         super 
 .otherViewPositions.add (dummyObject)
  super 

 .otherViewPositions.add (dummyObject2)
    }
SCHRITT 3 ->

 Nach dem Hinzufügen der Dummy-Objekte müssen wir die Funktion getItemViewType überschreiben
 überschreiben  Spaß  getItemViewType  ( Position :  Int ) :  Int 
 {
         val  itemViewType  =  super 
 .getItemViewType (Position)
         return  if  (itemViewType ! =  -  1 
) {
   //  Es ist ein Dummy-Objekt, das den aktuellen Ansichtstyp zurückgibt. 

   //  das bei der Erstellung anderer Artikellisten erwähnt wurde 


            itemViewType
        }  else 
 {
   //  Es handelt sich um ein Element aus Ihrer Liste (d. H. Benutzerelement), das den Ansichtstyp 0 (Benutzerposition) zurückgibt. 
 0 



        }
    }
    
SCHRITT 4 ->


 Hier ist der createViewHolder und
Der Code der onBindViewHolder-Funktion dient als Referenz.
 überschreiben  Spaß  auf CreateViewHolder  ( übergeordnet :  ViewGroup viewType [1945901624] : Int  ]:  RecyclerView .  ViewHolder 
 {
         wenn 
 (viewType) {
             0  - > 
 {
                 val  view  =  LayoutInflater  .from (parent.context) .inflate ( R  .layout.user_item_view, parent,  false 
 )
                 return  UserViewHolder 


 (anzeigen)

            }
             1  - > 
 {
                 val  view  =  LayoutInflater  .from (parent.context) .inflate ( R  .layout.ad_item_view, parent,  false 
 )
                 return  AdViewHolder 




 (anzeigen)
            }
        }
    }
    
     überschreiben  Spaß  aufBindViewHolder  ( Inhaber :  RecyclerView .  ViewHolder Position [19659024:]  Int
) {
         wenn 
 (holder.itemViewType) {
             0  - > 
 {
                 val  holderr  =  holder  as  UserViewHolder 
 var  user  =  super .baseList [position] as [19659016]  Benutzer

                holderr.tv_user_id.text  = 
 user.id.toString ()
                holderr.tv_user_name.text  = 
 benutzername
                holderr.tv_user_phone.text  = 


 user.phoneNo.toString ()

            }
             1  - > 
 {
      //  schreibe hier deine eigene Logik 




            }
        }
    }
    
SCHRITT 5 -> Verwenden dieses Adapters in Ihrer Aktivität / Fragment
 var  userAdapter  =  UserAdapter  ( this 

)
userAdapter.setUserList (usersList)
 var  llm  =  LinearLayoutManager  ( this  RecyclerView .  VERTICAL [194590276]  false
)
rv_useres.layoutManager  = 
 llm
rv_useres.adapter  =  userAdapter 

In unserer Firma mussten häufig Elemente in verschiedene Listen eingefügt werden. Früher haben wir alle Aufgaben im Adapter selbst erledigt, aber das war frustierend und auch fehleranfälliger Code, dessen Behebung viele Stunden in Anspruch nimmt, und dieser Zyklus wiederholte sich jede Woche. Um dieses Problem zu lösen, hat sich Mr.CTO Avneesh Kumar die Idee gemacht, SuperAdapter zu erstellen.

Bitte gabele das Repository und trage mit Pull-Anfragen bei.

Alle Beiträge, groß oder klein, Hauptfunktionen, Fehlerbehebungen, zusätzliche Sprachübersetzungen, Einheit / Integrationstests werden begrüßt und gewürdigt, aber eingehend geprüft und diskutiert.

Copyright 2019 pwnjeswani

Lizenziert unter der Apache-Lizenz, Version 2.0 (die "Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Eine Kopie der Lizenz erhalten Sie unter


    http://www.apache.org/licenses/LICENSE-2.0

Sofern nicht gesetzlich vorgeschrieben oder schriftlich vereinbart, wird die im Rahmen der Lizenz vertriebene Software "wie besehen" ohne ausdrückliche oder stillschweigende Gewährleistungen oder Bedingungen jeglicher Art vertrieben. Siehe die Lizenz für die spezifische Sprache, die die Berechtigungen und Einschränkungen unter der Lizenz regelt.

.

Premium WordPress Themes Download
Premium WordPress Themes Download
Download Premium WordPress Themes Free
Download WordPress Themes
free online course

Tags

About AndroidWeltEditor

Check Also

So fügen Sie Ihren nativen Android-Apps 3D-Grafiken und andere Unity-Funktionen hinzu

Mit dem neuesten Beta-Build 2019.3.a2 von Unity können die Laufzeitkomponenten in native Apps integriert werden, …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.