这是我的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的部分。
你能帮助我吗?
答案 0 :(得分:3)
您想检查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 thread和this thread以获取更多输入。和你一样的问题。第二个是你的副本。在回答你的问题后找到它。