Java 在声音结束后播放插播广告

Java 在声音结束后播放插播广告,java,android,Java,Android,我对android开发和学习还比较陌生,请对我放松点。。。 我正在制作一个音板,我想在播放完声音后再显示一个插播广告,我下面的当前代码不会初始化广告: button1 = (findViewById(R.id.button)); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) {

我对android开发和学习还比较陌生,请对我放松点。。。 我正在制作一个音板,我想在播放完声音后再显示一个插播广告,我下面的当前代码不会初始化广告:

button1 = (findViewById(R.id.button));
        button1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                stopPlaying();
                mp = MediaPlayer.create(MainActivity.this, R.raw.dontbeanidiot);
                clickCount = clickCount + 1;
                mp.start();
                mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                    public void onCompletion(MediaPlayer mp) {
                        if (mp.isPlaying()) {
                            mp.stop();
                            mp.release();
                            if (clickCount == 10) {
                                mInterstitialAd.show();
                                clickCount = 0;
                            }
                        }
                    }
                });
            }
        });
这是一个代码,它确实显示了间隙,但按钮按下后,而不是之后。我做错了什么

button2 = findViewById(R.id.button2);
        button2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                stopPlaying();
                mp = MediaPlayer.create(MainActivity.this, R.raw.wouldanidiot);
                clickCount=clickCount+1;
                if (clickCount==10) {
                    if (mInterstitialAd.isLoaded()) {
                        mInterstitialAd.show();
                        clickCount=0;
                    }

                }
                mp.start();
                mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                    public void onCompletion(MediaPlayer mp) {
                        if (mp.isPlaying()) {
                            mp.stop();
                            mp.release();
                        }

                    }
                });
            }

        });

我把它改成这个,现在它可以按我的要求工作了。是的,我是个白痴

 button1 = (findViewById(R.id.button));
        button1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                stopPlaying();
                mp = MediaPlayer.create(MainActivity.this, R.raw.dontbeanidiot);
                clickCount = clickCount + 1;
                mp.start();
                mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                    public void onCompletion(MediaPlayer mp) {
                        if (mp.isPlaying()) {
                            mp.stop();
                            mp.release();

                        }
                        if (clickCount > 10) {
                            mInterstitialAd.show();
                            clickCount = 0;
                        }
                    }
                });
            }
        });

嗯,在
MediaPlayer.OnCompletionListener中,不应该
mp.isplay()
返回
false
,因为侦听器的整个要点是播放在该点完成(?)。您现在有了
minterstitalad.show()在该条件内。调试代码将向您展示它是如何工作的。谢谢您的提示。