title: GridLayout and LinearLayout both in one RecyclerView
body: <p>any idea how to use Two different <code>LayoutManager</code> in one View? I have four cards in grid on top of the screen and bottom, and I want <code>LinearLayout</code> but <code>RecyclerView</code> showing one View at a time </p>
  
  <pre><code>RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(this, 2);
  recyclerView.setLayoutManager(mLayoutManager);
  RecyclerView.LayoutManager lmLayoutManager = new LinearLayoutManager(this);
  recyclerView.setLayoutManager(lmLayoutManager);
  recyclerView.addItemDecoration(new GridSpacingDashboard(2, dpToPx(2), true));
  recyclerView.setItemAnimator(new DefaultItemAnimator());
  recyclerView.setAdapter(adapter);
  </code></pre>
  
  <p>Is there any way I can use both Views in a single <code>RecyclerView</code> Or on Index O I have <code>GridLayout</code> and on 1 showing <code>LinearLayout</code> , How can achieve if there is any possibilities </p>
  
  <p>Update (Card Adapter) </p>
  
  <pre><code>    public class CardAdapter extends RecyclerView.Adapter&lt;adapter.CardAdapter.CardViewHolder&gt; {
  
          public static final int topGridCard = 0;
          public static final int bottomCards=1;
  
          private Context mContext;
          private List&lt;CardModel&gt; cardList;
  
          public CardAdapter(Context mContext, List&lt;CardModel&gt; cardList) {
              this.mContext = mContext;
              this.cardList = cardList;
          }
  
          @Override
          public.adapter.CardAdapter.CardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
              View v;
  
              if (viewType == topGridCard) {
                  v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_view_sec, parent, false);
                  return new adapter.CardAdapter.TopGridCardView(v);
  
              }
              else if (viewType == bottomCards) {
                  v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_view, parent, false);
                  return new adapter.CardAdapter.BottomCardView(v);
              }
              return null;
          }
  
          @Override
          public void onBindViewHolder(final adapter.CardAdapter.CardViewHolder holder, final int position) {
              CardModel cardModel = cardList.get(position);
              if (holder.getItemViewType()==topGridCard){ adapter.CardAdapter.TopGridCardView vholder = (adapter.CardAdapter.TopGridCardView) holder;
                  vholder.secTitleStats.setText(cardModel.getNumStats());
                  vholder.secNumStats.setText(cardModel.getCardTitles());
                  vholder.secCardStats.setText(cardModel.getSecCartNumStats());
                  Glide.with(mContext).load(cardModel.getThumbnail()).into(vholder.secthumbnail);
              }
              else if(holder.getItemViewType()==bottomCards){
  adapter.CardAdapter.BottomCardView vholder = (adapter.CardAdapter.BottomCardView) holder;
                  vholder.numStats.setText(cardModel.getNumStats());
                  vholder.image_title.setText(cardModel.getCardTitles());
                  Glide.with(mContext).load(cardModel.getThumbnail()).into(vholder.thumbnail);
              }       
          }
  
          @Override
          public int getItemCount(){
              return cardList.size();
          }
  
          public static class CardViewHolder extends RecyclerView.ViewHolder {
              public CardViewHolder(View v) {
                  super(v);
              }
          }
  
          public class TopGridCardView extends adapter.CardAdapter.CardViewHolder {
              public TextView secTitleStats, secNumStats,secCardStats;
              public ImageView secthumbnail;
  
              public TopGridCardView(View view){
                  super(view);
  
                  secTitleStats = (TextView) view.findViewById(R.id.secTitleNumStats);
                  secNumStats = (TextView) view.findViewById(R.id.secCardNumStats);
                  secCardStats = (TextView) view.findViewById(R.id.sectitle);
                  secthumbnail = (ImageView) view.findViewById(R.id.seCthumbnail);
              }
          }
  
          public class BottomCardView extends adapter.CardAdapter.CardViewHolder {
  
              public TextView numStats,image_title;
              public ImageView thumbnail;
  
              public BottomCardView(View view) {
                  super(view);
                  numStats=(TextView)view.findViewById(R.id.numStatics);
                  image_title=(TextView) view.findViewById(R.id.title_overlay);
                  thumbnail = (ImageView) view.findViewById(R.id.thumbnail);
              }
          }
  
          @Override
          public int getItemViewType(int position) {
              if (isPositionHeader(position))
                  return topGridCard;
              return bottomCards;
          }
  
          private boolean isPositionHeader(int position) {
              return position == 0;
          }
      }
  </code></pre>
  
  <p>I have attached my Adapter just for more understanding , what the desired result should be 
  |Grid Card 1 | Grid Card 2 |
  |Grid Card 3 | Grid Card 4 |
  |  LinearLayout Card 1     |
  |  LinearLayout Card 2     |</p>
  
  <p>any possibilities </p>