2017-02-19 4 views
0

これはRecyclerViewのための私のコードです:RecyclerViewに広告を作成するには?

public RecyclerGameAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
View v = null; 
if (viewType == AD_VIEW_TYPE) {} 
else{ 
    v = LayoutInflater.from(parent.getContext()).inflate(
          R.layout.recyclerview_games, parent, false); 
    ViewHolder viewHolder = new ViewHolder(v); 
    return viewHolder;  
} 

私は - 私はRecyclerAdapterでAdViewを示す部分を宣言するのか分かりません。

私を助けることができますか?

答えて

2

RecyclerViewのアイテムタイプを確認し、それに応じて行動します。使用、@Override方法、

@Override 
public int getItemViewType(int position) 
{ 
    if (position % 5 == 0){ 
     return AD_TYPE; 
    }else{ 
     return CONTENT_TYPE; 
    } 
} 

次にあなたがonCreateViewHolderの項目にコンテンツや広告をバインドすることができます。

View view = null; 

if (viewType == AD_TYPE) 
{ 
    view = new AdView(activity, AdSize.BANNER, ADMOB_ID); 
    float density = activity.getResources().getDisplayMetrics().density; 
    int height = Math.round(AdSize.BANNER.getHeight() * density); 
    AbsListView.LayoutParams params = new AbsListView.LayoutParams(AbsListView.LayoutParams.FILL_PARENT,height); 
    view.setLayoutParams(params); 
    view.loadAd(new AdRequest()); 
} 
else{ 
    view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_item_layout, viewGroup, false); 
} 

RecyclerView.ViewHolder viewHolder = new RecyclerView.ViewHolder(view); 
return viewHolder; 

この作業を行う必要があります。

詳細については、this threadthis threadを参照してください。あなたと同様の質問。 2番目のものはまさにあなたのコピーです。あなたの質問に答えた後にそれを見つけました。

関連する問題