gpt4 book ai didi

java - 不能在 adListener 中使用 sharedPreference

转载 作者:行者123 更新时间:2023-11-30 04:56:38 26 4
gpt4 key购买 nike

我想在用户关闭/离开特定 fragment 时转换插页式广告。为此,我在 onDetach() 中运行了一个方法 showIntAd() 测试广告显示得很好
Log.i(TAG, "Ad closed"); 运行良好,但如果我尝试 putIntgetInt 之后的所有代码都赢了'执行。
基本上,我想将一个值为 0 的 int 保存到我的 sharedPreference,如果 onAdClosed() 运行

创建和加载插页式广告,并在 onCreate 中启动 sharedPreference

        mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
mEditor = mSharedPreferences.edit();

mInterstitialAd_Arcade = new InterstitialAd(getActivity());
mInterstitialAd_Arcade.setAdUnitId(getString(R.string.interstitial_ads_test_id));
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitialAd_Arcade.loadAd(adRequest);


分离时

 @Override
public void onDetach(){
super.onDetach();
showIntAd();
}


展示广告的方式

private void showIntAd(){
int interstitial_counter =
mSharedPreferences.getInt(getString(R.string.pref_arcade_interstitial_counter), 0);
if (interstitial_counter >= 15){
if (mInterstitialAd_Arcade.isLoaded()) {
mInterstitialAd_Arcade.show();
}
mInterstitialAd_Arcade.setAdListener(new AdListener(){
@Override
public void onAdOpened(){
Log.i(TAG, "Ad opened");
}

@Override
public void onAdFailedToLoad(int errorCode){
Log.e(TAG, "Ad Failed to load: " + errorCode);
}
@Override
public void onAdClosed(){
Log.i(TAG, "Ad closed");
mEditor.putInt(getString(R.string.pref_arcade_interstitial_counter), 0);
mEditor.apply();
}
});
}
}

最佳答案

问题是 sharedPreference 没有任何值(null)。试试这个方法

private void showIntAd(){
int interstitial_counter =
mSharedPreferences.getInt(getString(R.string.pref_arcade_interstitial_counter), 0);
if (interstitial_counter ==null) {
if (mInterstitialAd_Arcade.isLoaded()) {
mInterstitialAd_Arcade.show();
}
}
if (interstitial_counter >= 15){
if (mInterstitialAd_Arcade.isLoaded()) {
mInterstitialAd_Arcade.show();
}

//move the listener inside oncreate .
}
}

关于java - 不能在 adListener 中使用 sharedPreference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59020219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com