2016-10-26 20 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)); 
    } 

私は現在、最初の要素を2回複製しています。 カスタムオプションを使用してカスタム行を追加するにはどうすればよいですか?

+0

私が正しく理解していた場合、あなたはあなたが指定したviewholderをオーバーライドし、それらの残りの部分とは異なる見て最初のUI要素が必要ですか? – Ranveer

+0

しかし、onBindViewHolderメソッドでは、新しいものを作成することはできません。最初の行を複製します。 – Janos

+0

完全なアダプタコードを含めます。 –

答えて

0

ビューが異なる2つのViewHolderを作成し、ItemViewTypeで、特定の位置を確認し、そのインフレ特定の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

関連する問題