簡體   English   中英

如何在 RecyclerView 中每 3 個項目放置原生廣告?

[英]How to place Native Ads every 3 items in RecyclerView?

我想放置來自谷歌 AdMob 的原生廣告或橫幅。 它應該在我的 RecyclerView 中每 3 個項目放置一次。 我找到了一些解決方案,但不幸的是,它沒有用。 謝謝你的幫助。

主class:

@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);
}

我的適配器 class:

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 class:

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);
}

就個人而言,我通過讓我的回收站視圖持有一個界面來做到這一點。 然后為普通回收站視圖項目和 AdHolder 項目提供兩種實現。 然后我每 3 個項目插入一個 AdHolder。

您也可以按照此代碼實驗室執行類似操作: https://codelabs.developers.google.com/codelabs/admob-native-advanced-feed-android/#0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM