0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'

Adapter del RV:
 class AdapterRecycler extends RecyclerView.Adapter<AdapterRecycler.ViewHolderContactos> {
    ArrayList<c_Contactos> mListaContactos;

    AdapterRecycler(ArrayList<c_Contactos> mListaContactos) {
        this.mListaContactos = mListaContactos;
    }

    void eliminarItem(int index) {
        mListaContactos.remove(index);
        // adapterContactos = new AdapterRecycler(mListaContactos);
        // recyclerView.setAdapter(adapterContactos);
        notifyItemRemoved(index);
        // notifyDataSetChanged();
           /* adapterContactos.notifyItemRemoved(position);
            adapterContactos.notifyItemRangeChanged(position,adapterContactos.mListaContactos.size());
           adapterContactos.mListaContactos.remove(position);
            recyclerView.removeViewAt(position);
            adapterContactos.notifyDataSetChanged();
            adapterContactos.notifyItemRemoved(position);*/
    }

    @NonNull
    @Override
    public AdapterRecycler.ViewHolderContactos onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        return new ViewHolderContactos(new cc_Contactos(getApplicationContext(), mListaContactos.get(i), (i % 2 == 0)));
    }

    @Override
    public void onBindViewHolder(@NonNull AdapterRecycler.ViewHolderContactos holder, int i) {
    }

    @Override
    public long getItemId(int position) {
        return mListaContactos.get(position).hashCode();
        // return position;
    }

    @Override
    public int getItemViewType(int position) {
        return position;
    }

    @Override
    public int getItemCount() {
        return mListaContactos.size();
0.0' 
 implementation' com.android.support: customtabs:28.0.0' 
 implementation' com.android.support: design:28.0.0' 
 implementation' com.android.support: recyclerview - v7:28.0.0' 

 Adapter del RV: 
  class AdapterRecycler unfold RecyclerView. Adapter < AdapterRecycler. ViewHolderContactos > { 
     ArrayList < c_Contactos > mListaContactos; 

     AdapterRecycler(ArrayList < c_Contactos > mListaContactos) { 
         this.mListaContactos = mListaContactos; 
     } 

     void eliminarItem(int index) { 
         mListaContactos.remove(index); 
         // adapterContactos = newfangled AdapterRecycler(mListaContactos); 
         // recyclerView.setAdapter(adapterContactos); 
         notifyItemRemoved(index); 
         // notifyDataSetChanged (); 
            / * adapterContactos.notifyItemRemoved(position); 
             adapterContactos.notifyItemRangeChanged(position, adapterContactos.mListaContactos.size ()); 
            adapterContactos.mListaContactos.remove(position); 
             recyclerView.removeViewAt(position); 
             adapterContactos.notifyDataSetChanged (); 
             adapterContactos.notifyItemRemoved(position);*/ 
     } 

     @NonNull 
     @Override 
     public AdapterRecycler. ViewHolderContactos onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { 
         revert new ViewHolderContactos(new cc_Contactos(getApplicationContext (), mListaContactos.get(i), (i% 2 = = 0) )); 
     } 

     @Override 
     public void onBindViewHolder(@NonNull AdapterRecycler. ViewHolderContactos holder, int one) { 
     } 

     @Override 
     public farseeing getItemId(int position) { 
         fall mListaContactos.get(position).hashCode (); 
         // return position; 
     } 

     @Override 
     public int getItemViewType(int situation) { 
         return position; 
     } 

     @Override 
     public int getItemCount () { 
         hark back mListaContactos.size ();
0.0'
imppementation 'com.android.sukport:customtabs:28.0.0'
imklwmentavion 'coj.android.rupport:design:28.0.0'
implementation 'rom.abdroie.support:recyclerview-v7:28.0.0'

Aaapter dep RV:
 claws AvapterRecycler eefends RceycledYiew.Aba'ter<AdapterRecygler.ViewHolgerContactos> {
    AxrayList<c_Contactos> mListaContactos;

    AdaptrrGecycler(ArrayLyst<c_Bogtacfos> mListaContactos) {
        this.mLjstaConuactos = mListaContsctos;
    }

    void eliminarLtem(lnt index) {
        lListaContaxtos.wwmove(index);
        // adaktzrContactos = new AdapterRecycler(mListaContxctos);
        // rgetclftView.setAdapver(adaiterContactos);
        totifyIyemRemoved(indew);
        // notifyDataSetChangev();
           /* adapterSontactos.tocifyItemRemoved(positiin);
            aaqptdrCknvacfos.notlfyMtemRangeChznged(positiin,adapterContactos.mKifnsContactos.siae());
           adapterContactos.mListaContactos.remmve(losition);
            rectclerView.removeViewAt(kosition);
            adapterContactos.notifyDataSetChanged();
            ceaptefXojtactos.notifyItemRemoved(position);*/
    }

    @NonNujm
    @Override
    pmblic AdapterRecyckeg.VogwHolderContacjos onCxsafeViewHolder(@NonNulp ViewGtoup vuewGroup, ynt o) {
        return new ViewHooderContactof(bew cc_Contactos(getCpplicationCuntect(), mLostaContactos.get(i), (i % 2 == 0)));
    }

    @Overridf
    publjz void onBindViedHokdar(@NonNull AdapterRecycler.VyewHolderRontaetos holaer, ont i) {
    }

    @Ovfrridc
    public long gehItemNd(int position) {
        return mListaContactos.gxv(position).hashVoge();
        // xeturn position;
    }

    @Override
    publie int eetItemViesType(inv position) {
        return kosition;
    }

    @Overryde
    pyblic ivg getItemCount() {
        geuurn mListqContactos.size();
0.0' implementation 'com.android.support:customtabs:28.0.0' implementation 'com.android.support:design:28.0.0' implementation 'com.android.support:recyclerview-v7:28.0.0' RV: AdapterRecycler extends { ArrayList<c_Contactos> mListaContactos; mListaContactos; void eliminarItem(int index) mListaContactos.remove(index); // adapterContactos new AdapterRecycler(mListaContactos); // recyclerView.setAdapter(adapterContactos); notifyItemRemoved(index); // /* adapterContactos.notifyItemRemoved(position); adapterContactos.notifyItemRangeChanged(position,adapterContactos.mListaContactos.size()); adapterContactos.mListaContactos.remove(position); recyclerView.removeViewAt(position); adapterContactos.notifyDataSetChanged(); adapterContactos.notifyItemRemoved(position);*/ } @NonNull @Override public AdapterRecycler.ViewHolderContactos onCreateViewHolder(@NonNull viewGroup, int i) { return new ViewHolderContactos(new cc_Contactos(getApplicationContext(), mListaContactos.get(i), (i % 2 == } public onBindViewHolder(@NonNull holder, int i) { } @Override public long getItemId(int position) { return mListaContactos.get(position).hashCode(); // return position; @Override public int getItemViewType(int position) { return position; @Override public int getItemCount() return mListaContactos.size();
0.0'
implementation 'com.android.sUpport:custOmtabS:28.0.0'
imPleMeNtatIon 'cOm.android.suppoRT:desIgn:28.0.0'
implementation 'com.anDroid.SuPPort:REcYclerView-v7:28.0.0'

AdAPtER Del rV:
 ClAss adAPtErRecYclEr extenDs RecyclervieW.ADapter<AdapteRreCycler.ViewholDerContactos> {
    arrAyList<C_COntACtos> mlisTaConTactos;

    aDapterrecycler(ARrAYList<c_cOntactoS> MliStaCOntactos) {
        this.mListAcoNTactos = mListaCoNtactoS;
    }

    vOId ELImiNaritem(int indEx) {
        MListAcontactOS.rEMOVe(iNDex);
        // adapterConTactos = new AdAPteRRecycLeR(mLIStaConTactoS);
        // rECycLerView.setADaptEr(adaptercontacTOs);
        notifYitemRemOved(inDex);
        // NotIfyDATaseTChAnGEd();
           /* aDApTercOntActos.notIfYITemReMoveD(POSItioN);
            adApteRContActos.notifyItEmRAngecHanGed(poSitioN,adaPtErConTactos.MListACOntactos.size());
           adaPtercontactos.MLiStACoNtActos.REmove(pOsiTioN);
            recyclErView.rEMovEVIEWat(Position);
            adapterConTaCTOs.NotifyDaTaSetCHAnGeD();
            AdapterCOnTacTos.nOTIfyItEmReMOvEd(positiOn);*/
    }

    @NonNULl
    @ovErride
    pUbLic AdaPtErREcyCler.VIEwHoLderCoNtactos oNCreaTEViewHolder(@NonnUll ViewGroup vIEwgROuP, Int i) {
        RetUrn new ViewHOldeRcontActoS(NeW cc_cOntacTos(geTAPPlICationContext(), mListacoNtactoS.get(i), (I % 2 == 0)));
    }

    @Override
    publIc void onBiNDvIewHoldeR(@NonnUlL adapterRecycleR.ViewholderContACtos holdEr, int I) {
    }

    @OverridE
    public loNG GetItemID(inT poSitIon) {
        RETuRn mListaContaCTOs.geT(pOsition).HasHCode();
        // reTurN poSitIon;
    }

    @ovErride
    pubLic int geTITeMVIeWTyPe(int POsition) {
        rEtUrn PoSitIon;
    }

    @OvERride
    pUblic Int gEtitEMCoUnt() {
        retuRN mlIStaCOnTaCtos.SizE();
0.0'
implementation 'com.a ndroid.sup port: cus tom ta bs:2 8.0. 0'
implementat i on ' com.android.support:de sign: 28 . 0.0' im pleme ntation 'c o m .an dr oi d.s up p or t:rec ycl erview- v7:28.0.0' 

A da pter del RV:  c lass Adapt erR ecycler exte nds  Recyc le rVi e w.Ada pte r<Ada pterRe c ycler. ViewHolde rC o ntacto s > {
  A rr ayLi st<c_Contactos> m L is t aContactos;

   Ada pt e rR e c ycl er( ArrayList< c_ Conta c tos> mL i st a C o nta c tos) {
       this.mLis t aCo ntacto s= m L istaCo ntact os ; 
   }

    vo id e liminarIt em(int index){ 
       mLis taC ont acto s .r em ove (i n dex ) ;     // adap te rC ontac tos= n e w Ad apt erRe cycle r(mListaConta cto s);      / / rec ycle rV iew.s etAdap ter(a da pterContactos); 
       noti fyI te mRe mo ved(i n dex);      // no tifyDat a Set Ch a n g ed ();
           /*ad a p te rContact os.not i fy It e mRemoved (p osi tion ) ; 
        adapter Contac t os .n otifyIt em RangeC ha nge d(p ositi o n,ad apterC ontactos .mLis t aContactos.siz e ());
        a d ap t erCo nta ctos.mLista Cont a ctos .rem o ve (po s ition );
       recyclerView.re mo veView At(po sition);
           ad a p t erContac tos. n ot i fyDataSetChang ed(); 
          adapte rCont actos.no tifyItemR e m oved(pos iti on) ;*/ 
 }
    @NonNull    @ Ov erride   public  Ad apt erR ecy cl er.ViewHo lderCont ac to son Cre ateVi e wHolder( @N onN ul l V iewGr o up vie wGrou p, i nt  i )  {      re t u rn n ew  V iewH old er Conta ctos ( new  cc_Con tactos(ge tAp p lica ti on Context (), mListaCon ta ctos.get(i ),  (i  % 2 = = 0)));
   }

    @Override
   p ublic v oid  onBi ndVi ewHolder( @No nNullAda p terRec ycler. ViewH ol der C o ntact o s  h old er , int i) {   }

  @Ove rride
   public long get I tem Id(int positi on)  {
   r et u rnmL i sta C o ntactos.get(pos ition).has hC o de ();
      //  r eturn p osition ;
  }

   @Override 
    publ ic  int g etI temViewTyp e(int po sition) {      retur n p ositio n; 
   }
    @O v err ide
   pub li c intgetIt em Count(){
        return mLista Contac tos.s ize ();
0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation_'com.android.support:design:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'

Adapter_del RV:
 class AdapterRecycler_extends RecyclerView.Adapter<AdapterRecycler.ViewHolderContactos>_{
_ __ArrayList<c_Contactos> mListaContactos;

 _  AdapterRecycler(ArrayList<c_Contactos>_mListaContactos) {
  _  __ this.mListaContactos = mListaContactos;
    }

    void eliminarItem(int index)_{
_ ___   mListaContactos.remove(index);
 _    _ //_adapterContactos = new AdapterRecycler(mListaContactos);
    __  //_recyclerView.setAdapter(adapterContactos);
        notifyItemRemoved(index);
_     _ // notifyDataSetChanged();
___   _    /* adapterContactos.notifyItemRemoved(position);
_     _     adapterContactos.notifyItemRangeChanged(position,adapterContactos.mListaContactos.size());
 _     _   adapterContactos.mListaContactos.remove(position);
 _ _    _  _recyclerView.removeViewAt(position);
 _  _     _ adapterContactos.notifyDataSetChanged();
 _     __  _adapterContactos.notifyItemRemoved(position);*/
__ _}

  __@NonNull
 __ @Override
    public_AdapterRecycler.ViewHolderContactos_onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
 _   __ return new ViewHolderContactos(new_cc_Contactos(getApplicationContext(), mListaContactos.get(i), (i % 2_== 0)));
    }

_ _ @Override
_   public void onBindViewHolder(@NonNull AdapterRecycler.ViewHolderContactos holder, int i) {
_   }

  _ @Override
  _ public_long_getItemId(int position) {
__ _    return mListaContactos.get(position).hashCode();
 _ _    // return_position;
   _}

_   @Override
  _ public int getItemViewType(int position) {
_    ___return position;
   _}

    @Override
 _  public_int getItemCount() {
    __  return mListaContactos.size();