Java 调用函数
我在一个类中定义了这个布尔值:Java 调用函数,java,android,admob,Java,Android,Admob,我在一个类中定义了这个布尔值: private boolean showad; 我在同一个类中定义了这个函数,它检查showad是否设置为true: public void adon() { if (showad == true) { AdView adView = (AdView) this.findViewById(R.id.ad); adView.loadAd(new AdRequest()); } } 如何让这个函数adon()反复运行,以检查showad布尔
private boolean showad;
我在同一个类中定义了这个函数,它检查showad
是否设置为true
:
public void adon() {
if (showad == true) {
AdView adView = (AdView) this.findViewById(R.id.ad);
adView.loadAd(new AdRequest());
}
}
如何让这个函数
adon()
反复运行,以检查showad
布尔值中的更改?好的,我将在这里做一个假设,并猜测您实际上并不希望通过无限循环来检查布尔值以显示广告。因此,让我给您一些真正的建议,而不是在注释中大肆渲染。似乎您想要检查是否在特定屏幕上显示广告:活动或片段
void setShowad(boolean val) {
if (showad) {
AdView AdView = (AdView) this.findViewById (R.id.ad);
adView.loadAd (AdRequest new ());
}
showad = val;
}
所以我给你的建议是:
在onResume()方法中检查if条件,并在那里显示/不显示广告
@Override
public void onResume() {
super.onResume();
if (showad == true) {
AdView AdView = (AdView) this.findViewById (R.id.ad);
adView.loadAd (AdRequest new ());
}
}
这样,无论何时加载/刷新屏幕,它都会进行检查。我想你并不真的想要实时检查是否显示你的广告,因为这对用户来说是非常不和谐的。只需在onResume()中签入即可。如果您有任何进一步的问题,请留下评论,我将扩大我的答案。如果你喜欢这个答案,请投票并接受
但如果它真的必须是实时的。我可以帮助您设置一个计时器/延迟可运行,每隔一段时间就会检查一次。当然您有一些代码可以设置
showad
-因此您可以在那里调用它,而不是“持续”。showad是布尔值而不是字符串!习惯使用if(showad)
而不是if(showad==true)
。这是多余的。你为什么希望它一直运行?你可以在一个while(1)循环中调用adon,尽管这不太可能是你想要的,因为它会耗尽你所有的CPU。否则,您可能需要设置一个计时器。但是当我在WebAppInterface(JS接口)中调用adon()时,应用程序崩溃