作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想放置来自 google AdMob 的原生广告或横幅。它应该每 3 个项目放置在我的 RecyclerView 中。我找到了一些解决方案,但不幸的是,它不起作用。感谢您的帮助。
主类:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_benefits);
toolbar = findViewById(R.id.toolbar_benefits);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mRecyclerView = findViewById(R.id.benefits_recycler);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
myAdapter = new MyAdapter(this, benefitsList());
mRecyclerView.setAdapter(myAdapter);
}
MyAdapter 类:
public class MyAdapter extends RecyclerView.Adapter<MyHolder> {
Context c;
ArrayList<Model> models;
public MyAdapter(Context c, ArrayList<Model> models) {
this.c = c;
this.models = models;
}
@NonNull
@Override
public MyHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.single_list_item, null);
return new MyHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyHolder myHolder, int i) {
myHolder.mTitle.setText(models.get(i).getTitle());
myHolder.mDescription.setText(models.get(i).getDesc());
myHolder.mImageView.setImageResource(models.get(i).getImage());
}
@Override
public int getItemCount() {
return models.size();
}
MyHolder 类:
public class MyHolder extends RecyclerView.ViewHolder {
ImageView mImageView;
TextView mTitle, mDescription;
public MyHolder(@NonNull View itemView) {
super(itemView);
this.mImageView = itemView.findViewById(R.id.rowImage);
this.mTitle = itemView.findViewById(R.id.rowTitle);
this.mDescription = itemView.findViewById(R.id.rowDescription);
}
最佳答案
就我个人而言,我是通过让我的回收器 View 持有一个界面来做到这一点的。然后有两个实现用于普通回收器 View 项和 AdHolder 项。然后我每 3 个项目插入一个 AdHolder。
您还可以按照此 Codelab 进行操作,它执行类似的操作: https://codelabs.developers.google.com/codelabs/admob-native-advanced-feed-android/#0
关于java - 如何在RecyclerView中每3个项目放置一次原生广告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62053439/
我是一名优秀的程序员,十分优秀!