Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在不同的按钮上显示相同的广告_Java_Android_Admob - Fatal编程技术网

Java 在不同的按钮上显示相同的广告

Java 在不同的按钮上显示相同的广告,java,android,admob,Java,Android,Admob,请原谅我的无知,但当用户点击多个按钮时,我试图显示一个插页广告。我有四个按钮,每个按钮指向不同的活动。如何在多个按钮点击时显示相同的广告(无需创建额外的广告单位和变量)?以下是我迄今为止所做的工作: Button btn1, btn2, btn3, btn4; interstitialAd.setAdListener(new AdListener() {

请原谅我的无知,但当用户点击多个按钮时,我试图显示一个插页广告。我有四个按钮,每个按钮指向不同的活动。如何在多个按钮点击时显示相同的广告(无需创建额外的广告单位和变量)?以下是我迄今为止所做的工作:

        Button btn1, btn2, btn3, btn4;
        interstitialAd.setAdListener(new AdListener()
                                     {
                                         @Override
                                         public void onAdClosed() {
                                             super.onAdClosed();
                                             Intent intent = new Intent(MainActivity.this, Activity1.class);
                                             startActivity(intent);
                                         }
                                     }
        );


        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
                } else {
                    Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
                }


            }});


您可以创建
OnClickListener
的实例,如

OnClickListener onClickListener=new OnClickListener() {
            @Override
            public void onClick(View view) {
                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
                } else {
                    Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
}
}
然后分配所有按钮点击,如下所示

btn1.setOnClickListener(onClickListener);
btn2.setOnClickListener(onClickListener);

使用Interstitual listener中的
onAdClosed
方法重新加载AD(如果已显示),并将
show
功能置于单击按钮的listeners上。我以为四个按钮在同一活动中(如果我错了,请纠正我)

在按钮的onClickListener中,您使用了if-else语句,如
显示广告或转到此活动
我的意思是
如果无法显示广告,则转到此活动,如果广告显示给用户,则用户将停留在同一活动

试试这个:

btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
//***This is simple, when the button was clicked Ad will show, also the Activity1 will open.

} else {
                    Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
                }


            }});

或者你应该在按钮的Click Listener方法中添加中间侦听器,这样你就可以在广告关闭时打开另一个活动。

OnButton点击显示广告,就像Ratish说的那样

OnClickListener onClickListener=new OnClickListener() {
        @Override
        public void onClick(View view) {
            position = 1(for first activity)
            if (interstitialAd.isLoaded()) {
                interstitialAd.show();
            } else{
                nextActivity();
            }
} 
然后在广告结束时,转至下一个活动执行以下操作:

创建一个字符串数组,并在其中存储所有包名,并声明一个int,如:

    String optionSelected[] = {"com.sb.android.acg.upgrade.activity.firstActivity", "com.sb.android.acg.upgrade.activity.SecondActivity", "com.sb.android.acg.upgrade.activity.ThirdActivity", "com.sb.android.acg.upgrade.activity.FourthActivity", "com.sb.android.acg.upgrade.activity.fifthActivity", "com.sb.android.acg.upgrade.activity.SixthActivity"};

int position 
在onAdClosed的
中:

 @Override
 public void onAdClosed() {
    super.onAdClosed();
    nextActivity();
}
nextractivity

public void nextActivity(){
Intent intent;
        Class<?> aclass = Class.forName(optionSelected[position]);
        intent = new Intent(MainActivity.this, aclass);
         startActivity(intent);
}
public-void-nextActivity(){
意图;
Class aclass=Class.forName(optionSelected[position]);
意图=新意图(MainActivity.this,aclass);
星触觉(意向);
}

希望您理解如何调用下一个活动。如果有任何疑问,请在评论中告诉我,您希望在每次单击按钮时显示“添加”。您希望在adClose上执行什么操作?是的。我的意思是,如果显示广告,用户有关闭选项。如果广告被关闭,它不会转到意图指定的活动。你的意思是返回到启动广告活动的活动。如果是这种情况,那么你需要在意图中发送活动信息,并使用它再次启动活动。@Sopnishah在你的按钮中单击你使用的if-else语句,如
show Ads或转到此活动
如果无法显示广告,则转到此活动