1

これについていくつかのトピックを読みましたが、私の問題に対する適切な解決策が見つかりませんでした。

状態がTRUEの標準の「チェック済み」のチェックボックスが1つあります。バックグラウンド ミュージックのチェックを外した場合に停止する方法を知りたい - ボタンなしでその場で。何かが欠けていることは知っていますが、それを手に入れることはできません!助けてくれてありがとう!

エラーのないこのコードを使用していますが、正しく動作しません。

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 に答える