2016-04-04 11 views
0

Dizinin bir API'den doldurulduğu bir diziden birkaç öğeyi listeleyen bir parçacığım var. Ayrıca, bir parça sınıfı ve aradığım yerde bir geri dönüştürücü bağdaştırıcısı oluşturdum Grid görünümü olarak düzen yöneticisi. görünümümde bir başlık iki öğe dizisi ve bir alt reklam öğesi içeriyor. Başlığı başarıyla uyguladım ancak alt bilgimi düzgün bir şekilde almıyorum. Önerilen yollar büyük bir değişiklik olmadan değerlidir.Geri dönüştürücü kılavuz görünümü için birden fazla aralık nasıl ayarlanır ve üstbilgi ve altbilgi gösteriliyor

Fragment

 @Override 
     public int getItemCount() { 
     int array = listAddress.size(); 
      Log.d("abhil",""+array); 
    //  if(listAddress.size()>0) { 
       return listAddress.size() - 1; 
    //  }else{ 
    //   return 0; 
    //  } 
     } 

     @Override 
     public int getItemViewType(int position) { 
      if (position == 0) { 
       return TYPE_HEADER; 
      } else if(isPositionFooter(position)){ 
       return AD_TYPE; 
      } 
      return TYPE_ITEM; 
     } 
private boolean isPositionFooter (int position) { 
     return position == listAddress.size() + 1; 
    } 

Recyclerlistview içinde gösteren normal bir afiş reklam olarak son pozisyonuna reklamı ayarlamak gerekir

mRecyclerView = (RecyclerView) view.findViewById(R.id.mrecycler_channel); 
     mRecyclerView.setHasFixedSize(true); 
     GridLayoutManager gm = new GridLayoutManager(getActivity(),2); 
     gm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { 
      @Override 
      public int getSpanSize(int position) { 
       return position == 0 ? 2:1; 
      } 
     }); 
     mRecyclerView.setLayoutManager(gm); 
     mAdapter = new StationsListAdapter(getActivity(), listStations, listlikedStations, listner); 
     mRecyclerView.setAdapter(mAdapter); 

recyclerview Adaptörü.

cevap

1

Böyle bunu elde edebiliriz:

gm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { 
     @Override 
     public int getSpanSize(int position) { 
      //Do your lookup here 

      return (position == 0 || position == listStations.size() - 1) ? 2 : 1; 
     } 
    }); 
+0

|| operatör int ve boolean'da kullanılamaz. –

+0

Benim hatalı, düzenlenmiş. – Ian

+0

aslında 3 öğe bir başlık, liste öğesi ve nihayet altbilgi eklemek istiyorum Bir reklam eklemek istiyorum kodu denedim ama altbilgi reklam –