Android setOnClickListener有2个函数

时间:2015-06-18 13:15:03

标签: android

我"玩"使用Android Studio,制作DrumPad应用程序,但我正在努力解决它。我希望我的按钮,如果点击,开始播放样本,如果再次点击,只需停止样本。每个按钮都有不同的MediaPlayers,所以这里是我尝试做的一个例子:

redbutton2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (!mediaplayer.isPlaying()) {
            mediaplayer = MediaPlayer.create(MainActivity.this, R.raw.chord1_ashp_maj7);
            mediaplayer.start();
        }
        stopPlaying(mediaplayer);
    }
});

3 个答案:

答案 0 :(得分:5)

只是把其他部分..

if (!mediaplayer.isPlaying())
{
   mediaplayer = MediaPlayer.create(MainActivity.this, R.raw.chord1_ashp_maj7);
   mediaplayer.start();
}
else
{
    stopPlaying(mediaplayer);
}

因为,如果媒体播放器已经在运行,你必须停止播放..

注意:是的我知道,可能你在stopPlaying()函数中已经处理过了,但没有这个函数的代码我假设你必须把stop media player放在else语句中

答案 1 :(得分:0)

如果我非常清楚地理解你,那只是一个例子 if(--- condition - ){ - statement - } else { - statement--} issue

redbutton2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        if (!mediaplayer.isPlaying())
        {
            mediaplayer = MediaPlayer.create(MainActivity.this, R.raw.chord1_ashp_maj7);
            mediaplayer.start();
        }else{
        stopPlaying(mediaplayer);
        }
    }
});

答案 2 :(得分:0)

    if (aredbtn2==false) 
    { 
        aredbtn2=true; 
    } 
    else 
    { 
        aredbtn2=false; 
    } 
    if(aredbtn2 == true) 
    { 
        mredbutton2 = MediaPlayer.create(MainActivity.this, R.raw.chord1_ashp_maj7); mredbutton2.start(); } else { stopPlaying(mredbutton2); 
    }