스크롤뷰를 굳이 넣으실 필요 없습니다.
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