Java 如何在RecyclerView中创建广告?

Java 如何在RecyclerView中创建广告?,java,android,admob,Java,Android,Admob,这是我的RecyclerView代码: public RecyclerGameAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = null; if (viewType == AD_VIEW_TYPE) {} else{ v = LayoutInflater.from(parent.getContext()).inflate(

这是我的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的部件

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;

您能帮助我吗?

您想检查
回收视图的项目类型,然后采取相应的行动。使用
@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;
这应该可以完成任务


另外,请查看,并获取更多输入。和你一样的问题。第二本正是你的。回答您的问题后找到它。

您想检查
回收视图的项目类型,然后采取相应的行动。使用
@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;
这应该可以完成任务

另外,请查看,并获取更多输入。和你一样的问题。第二本正是你的。在回答你的问题后找到的