切换按钮共享偏好媒体播放器

时间:2016-04-16 13:20:49

标签: android

我有2项活动。在第一个活动中,我有一个切换按钮(setChecked = true)和一个媒体播放器。当切换打开时,Media Player启动;当切换关闭时,媒体播放器暂停并搜索到“0”。那里没有问题,但我想保存切换按钮的情况。因为当用户更改切换关闭并启动第二个活动然后返回第一个活动切换将再次更改为true并再次启动Media Player。但是用户改变切换为关闭,他/她不想听我的媒体......

我的全局变量(在第一个活动中);

MediaPlayer main;
ToggleButton seskontrol;

我的切换按钮(在第一个活动中);

    ToggleButton seskontrol = (ToggleButton) findViewById(R.id.seskontrol);
    seskontrol.setChecked(true);
    seskontrol.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            boolean on = ((ToggleButton) v).isChecked();
            if (on) {
                // ON durumunda yapılacaklar
                main.start();
                main.setLooping(true);
            } else {
                // OFF durumunda yapılacaklar
                main.pause();
                main.seekTo(0);
            }
        }
    });

在创建(在第一个活动中);

    main.start();
    main.setLooping(true);

我知道有main.start();在创建但我怎样才能改变它

if(toggle = on){
main.start();
}else{
main.pause();
main.seekTo(0);
}

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式实现这一目标:
(1)在您的活动之间传递intent extras参数中的toggle变量状态。

在Activites:

之间传递切换值

Intent intent = new Intent(this,Activity.class); intent.putExtra(" toggle",true);
并在Activity类中 boolean toggle = getIntent()。getExtras()。getBoolean(" toggle");

(2)使用共享首选项存储切换变量的状态。

在偏好设置中设置值: // MY_PREFS_NAME - 一个静态字符串变量,如: // public static final String MY_PREFS_NAME =" MyPrefsFile&#34 ;; SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME,MODE_PRIVATE).edit();
 editor.putBoolean(" toggle",true);
 editor.commit();

从偏好中检索数据:
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME,MODE_PRIVATE);
Boolean toggle = prefs.getBoolean(" toggle",true);
if(toggle){
    //如果切换为真,则为您的代码 }
否则
{
 //如果切换错误,则为您的代码 }

更改切换按钮状态时更改切换变量的状态,并在活动中使用该状态。