2016-10-26 2 views
0

나는 데이터가 RecyclerView입니다. 사용자 정의 첫 번째 요소를 추가하려고했습니다.사용자 정의 요소를 recyclerview에 추가하는 방법은 무엇입니까?

if(position == 0) { 
     Trend item = items.get(holder.getAdapterPosition()); 
     int i = 0; 
     items.add(i, item); 
} 


@Override 
public int getItemViewType(int position) { 
    if (position == 0) return 1; 
    else return 2; 
} 


@Override 
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    if (viewType == 1) { 
     inflater = LayoutInflater.from(parent.getContext()); 
     return new MyViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_trendsnewuser, parent, false)); 
    } else { 
     inflater = LayoutInflater.from(parent.getContext()); 
     return new MyViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_trends, parent, false)); 
    } 

이제 첫 번째 요소를 두 번 복제하고 있습니다. 내 맞춤 옵션을 사용하여 맞춤 행을 추가하는 방법은 무엇입니까?

+0

, 당신은 사용자가 지정한 viewholder을 무시, 그들의 나머지 다르게 보는 최초의 UI 요소를 필요하십니까? – Ranveer

+0

하지만 onBindViewHolder 메서드에서 나는 새로운 것을 만들지 않고 첫번째 행을 복사 만합니다. – Janos

+0

전체 어댑터 코드를 포함하십시오. –

답변

0

뷰가 서로 다른 두 개의 ViewHolder를 만들고 ItemViewType에서 특정 위치를 확인하고 해당 Inflate 특정 ViewHolder에 따라 확인해야합니다.

여기에 몇 가지 코드가 있습니다.

public int getItemViewType(int position) { 
     if (products.size()==0){ 
      return 0; 
     }else if (products.get(position)== 0){ 
      return 0; 
     }else 
      return 1; 
     } 
     return super.getItemViewType(position); 
    } 

그리고 ViewHolder : 내가 제대로 이해 해요 경우

public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) 
{ 
    if (viewType== 0){ 
     View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.FIRSTTIMEVIEW,parent,false); 
     return new MovieViewHolder(view); 
    }else if (viewType==1) 
    { 
     View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.OTHERVIEWS,parent,false); 
     return new OtherViewHolder(view); 
    }else{ 
     return null; 
    } 
} 
+0

나는 이미 다른 레이아웃을 가지고 있는데 문제는 내가 사용자 정의 항목을 개발하는 법을 모르고 복제하지 않는다는 것입니다. – Janos

+0

사용자 정의 레이아웃이 필요한 모든 항목을 의미합니까? –

+0

단지 첫 번째 – Janos

관련 문제