【发布时间】:2015-08-02 19:06:15
【问题描述】:
我正在使用带有片段的导航抽屉,并且在其中一个片段中我有一个多级列表。
在我的ActionBarActivity.java 我有:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
...
// returning to previous
if (item != null && item.getItemId() == android.R.id.home) {
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
还有onBackPressed();:
public void onBackPressed() {
// return to the previous fragment stack
FragmentManager fragmentManager = getFragmentManager();
if (fragmentManager.getBackStackEntryCount() > 0) {
fragmentManager.popBackStack();
// show the ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
} else {
super.onBackPressed();
}
}
我想在用户单击多级列表片段中的后退按钮时显示InterstitialAd。上述解决方案有效,但它只在单个项目上显示广告一次。
所以这是一个示例运行:
- user opens the app and first fragments lists a list of items
- user clicks on Item #1 and enters that item details
- user clicks back (Ad is shown) and goes back to all items
- user clicks on Item #2 and enters that item details
- user clicks back (but Ad is not shown) and goes back to all items
不知道为什么当用户第二次点击返回等时,广告没有显示。有人可以提出一个可能的解决方案吗?
更新 #1:
以下是我在onCreate 上制作插页式广告的方法:
// interstitial ads
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(AD_ID);
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
}
});
requestNewInterstitial();
和:
private void requestNewInterstitial() {
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID")
.build();
mInterstitialAd.loadAd(adRequest);
}
【问题讨论】:
标签: java android android-fragments android-actionbar admob