在此代码中,我在xml文件夹中创建了一个带有“music”键的首选项复选框。
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference
android:title="Music"
android:key="music"
android:defaultValue="true"
android:summary="Check/Uncheck this to switch on/off sound"
/>
</PreferenceScreen>
如果选中此复选框,则我的媒体播放器将开始播放。如果未选中,则无法启动。但是在取消选中之后,音乐并没有立即停止。
我想要实现的是,如果我取消选中偏好设置中的复选框,音乐应立即停止
下面是我在MainActivity中编写的代码,我也在onPause()方法中使用了这段代码。但没有任何作用。
希望你能帮帮我们..先谢谢你们..
MediaPlayer song;
song= MediaPlayer.create(this, R.raw.bg);
song.setLooping(true);
SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Boolean music=prefs.getBoolean("music", true);
if(music == true)
song.start();
答案 0 :(得分:0)
音乐停止和开始应该是选中/取消选中复选框。
yourCheckbox.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//is yourCheckbox checked?
if (((CheckBox) v).isChecked()) {
if(song.isPlaying())
song.stop();
}
}
});
答案 1 :(得分:0)
如果是PreferenceActivity,你可以这样做,
music = findPreference("music");
music.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
//code to stop Music
return false;
}
});