You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除GridAdapter构造方法中的mInterstitialAd参数 仅设置title参数

调整步骤

1. 修改GridAdapter构造方法定义

找到GridAdapter类的构造方法,移除第三个插屏广告参数,参考修改示例:

// 原构造方法
public GridAdapter(List<Set> sets, String title, InterstitialAd mInterstitialAd) {
    this.sets = sets;
    this.title = title;
    this.mInterstitialAd = mInterstitialAd;
}

// 修改后构造方法
public GridAdapter(List<Set> sets, String title) {
    this.sets = sets;
    this.title = title;
    // 移除mInterstitialAd相关的赋值逻辑
}

2. 修改Adapter实例化代码

调整当前页面的Adapter创建逻辑,删除第三个mInterstitialAd传参,同时修正原代码的变量拼写错误(adopter改为adapter):

gridView = findViewById(R.id.gridview);
sets = CategoryActivity.list.get(getIntent().getIntExtra("position", 0)).getSets();
// 移除mInterstitialAd参数,仅保留sets和title
GridAdapter adapter = new GridAdapter(sets, getIntent().getStringExtra("title"));
gridView.setAdapter(adapter);

3. 清理Adapter内部的广告相关逻辑

如果GridAdapter内部原本有调用mInterstitialAd展示广告的逻辑,有两种处理方式:

  • 不需要保留广告逻辑:直接删除所有mInterstitialAd相关的调用代码即可
  • 需要保留广告逻辑:给GridAdapter添加条目点击回调接口,将广告触发逻辑移到当前Activity/Fragment中实现,避免Adapter直接持有广告实例
    示例回调实现:
// GridAdapter中定义回调接口
public OnItemClickListener onItemClickListener;
public interface OnItemClickListener {
    void onItemClick(int position);
}
public void setOnItemClickListener(OnItemClickListener listener) {
    this.onItemClickListener = listener;
}

// 条目点击时触发回调
holder.itemView.setOnClickListener(v -> {
    if (onItemClickListener != null) {
        onItemClickListener.onItemClick(position);
    }
});

// Activity中设置回调处理广告
adapter.setOnItemClickListener(position -> {
    if (mInterstitialAd != null) {
        mInterstitialAd.show(MainActivity.this);
    }
    // 其他点击跳转逻辑
});

内容的提问来源于stack exchange,提问作者s4surajverma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 04:57:02