스크롤뷰를 굳이 넣으실 필요 없습니다.
1. 타입별로 클래스를 생성 
2. RecyclerView.Adapter 를 상속받은 Adapter 구현.
 public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
  public MyAdapter(ArrayList<ClassName> items){
        this.items = items;
    }
.....
3. 현재 아이템이 어떤 타입인지 어뎁터에게 알려줌.
   @Override 
   public int getItemViewType(int position) {
    int type = 0;
        if(items.get(position) instanceof ...){
            type = TYPE1;
        }else if(items.get(position) instanceof ...){
            type = TYPE2
        }
        else if(items.get(position) instanceof ...){
            type = TYPE3
        } else if ....
        return type;
    }
4. @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
   switch(viewType){
   // 타입별 뷰홀더 생성.
   }
  return viewHolder.
}
5. @Override
    public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
   switch (viewHolder.getItemViewType()) {
   타입별 뷰 홀더 적용.
   }
}
 
참고 해보세요..
https://guides.codepath.com/android/Heterogenous-Layouts-inside-RecyclerView