1

我已经阅读了几个主题,但找不到任何好的解决方案来解决我的问题。

我有一个复选框,它是标准的“选中”状态,状态为 TRUE。如果我取消选中它,我想知道停止我的背景音乐 - 即时运行,没有按钮。我知道有些东西不见了,但我无法得到它!感谢您的帮助!

我正在使用没有错误但无法正常工作的代码。

private CheckBox chkBoxMusic;
private MediaPlayer mp_music;
OnClickListener checkboxListener;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.sound);
    mp_music = MediaPlayer.create(this,R.raw.menusong);


    chkBoxMusic = (CheckBox) findViewById(R.id.checkBoxMusic);

    checkboxListener = new OnClickListener() {
         public void onClick(View v) {

            boolean checked = ((CheckBox) v).isChecked();

               if (!checked) {

                   mp_music.stop();
               }     
            }
    };

   chkBoxMusic.setOnClickListener(checkboxListener);

   }

}
4

1 回答 1

0

通过使用CompoundButton.OnCheckedChangeListener复选框更改您的代码:

chkBoxMusic.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
    {
        if ( !isChecked )
        {
            // perform logic
             mp_music.stop();
        }

    }
});
于 2012-12-09T08:07:43.563 回答