- 无论是谁投反对票 - 请解释一下,我是在努力学习,而不是专业程序员,并在试图找出问题所在的同时寻求帮助 - 当有人试图学习时,投反对票对我没有任何帮助。
在我的 android 项目中,我有几个 .java 文件,其中一个是 Global.java 文件。
我想做的是创建一个我可以简单地使用来调用的方法;
Global.showAdmob();
来自任何其他 java 文件。
我遇到的问题是,当我尝试在 Global.java 文件中创建该方法时,它提到“无法在静态上下文中使用此方法”
这是我试图从其他文件中调用的内容;
private static InterstitialAd interstitial;
public static void displayInterstitial1() {
if (interstitial.isLoaded()) {
interstitial.show();
}
}
public static void showAdmob() {
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(MY_AD_UNIT_ID);
AdRequest adRequest = new AdRequest.Builder().build();
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener(){
public void onAdLoaded(){
displayInterstitial1();
}
public void onAdClosed(){
}
public void onAdFailedToLoad(int errorCode){
}
});
}
最佳答案
可能您必须在您的中发送上下文值
Global.showAdmob();
喜欢
Global.showAdmob(MainActivity.this);
因为 Global 不是 Activity 或 fragment 类,并且在您的 Global 中,您必须进行更改
interstitial = new InterstitialAd(context);
希望对您有帮助。
关于java - 试图让 static void 在所有类中可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39571234/