2016-10-25 7 views
2

最初の行に別のレイアウトを追加したいのですが、どうすれば設定できますか?recyclerviewの最初の行のレイアウトを変更するにはどうすればよいですか?

アダプタクラス:

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

そして、何がOnBindViewHolder方法に変更する: これは、すべての行は等しく、通常のでしょうか?

答えて

6

最初にgetItemViewTypeを上書きする必要があります。必要に応じてitemTypeを返します。

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

次にonCreateViewHolderであなたのビュータイプに応じて異なるレイアウトを展開します。

@Override 
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    if (viewType == 1) { 
     // inflate your first item layout & return that viewHolder 
    } else { 
     // inflate your second item layout & return that viewHolder 
    } 
} 
+0

ありがとう!その作業:) – Janos

+0

私は3分でそれを受け入れます。 – Janos

+0

それを聞いてうれしい.. .. :) – Sayem

関連する問題