Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 切换按钮SharedReferences媒体播放器_Android - Fatal编程技术网

Android 切换按钮SharedReferences媒体播放器

Android 切换按钮SharedReferences媒体播放器,android,Android,我有两项活动。在第一个活动中,我有一个切换按钮(setChecked=true)和一个媒体播放器。切换打开时,媒体播放器启动;关闭切换时,媒体播放器暂停并搜索“0”。没有问题,但我想保存切换按钮的情况。因为当用户关闭切换并启动第二个活动时,第一个活动切换将再次变为真,媒体播放器将再次启动。但用户将切换更改为关闭,并且他/她不想收听我的媒体 我的全局变量(在第一个活动中) 我的切换按钮(在第一个活动中) 创建时(在第一个活动中) 我知道这里有main.start();在“创建”中,但如何更改它 i

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

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

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

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

我知道这里有main.start();在“创建”中,但如何更改它

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

您可以通过:
(1) 在活动之间传递intent extras参数中切换变量的状态

要在活动之间传递切换值,请执行以下操作:

意向意向=新意向(此,Activity.class); intent.putExtra(“切换”,真)
而在活动课上
布尔切换=getIntent().getExtras().getBoolean(“切换”)

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

设置首选值: //MY_PREFS_NAME-一个静态字符串变量,如: //公共静态最终字符串MY\u PREFS\u NAME=“MyPrefsFile”; SharedReferences.Editor Editor=getSharedReferences(我的首选名称,模式为私有)。edit()
编辑器.putBoolean(“切换”,true)
commit()

从首选项检索数据:
SharedReferences prefs=GetSharedReferences(我的首选项名称,模式\私有)

Boolean toggle=prefs.getBoolean(“toggle”,true)
如果(切换){
//如果切换为true,则返回您的代码。
}
否则
{
//如果切换为false,则返回代码。
}


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

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

要在活动之间传递切换值,请执行以下操作:

意向意向=新意向(此,Activity.class); intent.putExtra(“切换”,真)
而在活动课上
布尔切换=getIntent().getExtras().getBoolean(“切换”)

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

设置首选值: //MY_PREFS_NAME-一个静态字符串变量,如: //公共静态最终字符串MY\u PREFS\u NAME=“MyPrefsFile”; SharedReferences.Editor Editor=getSharedReferences(我的首选名称,模式为私有)。edit()
编辑器.putBoolean(“切换”,true)
commit()

从首选项检索数据:
SharedReferences prefs=GetSharedReferences(我的首选项名称,模式\私有)

Boolean toggle=prefs.getBoolean(“toggle”,true)
如果(切换){
//如果切换为true,则返回您的代码。
}
否则
{
//如果切换为false,则返回代码。
}


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

类型不匹配:无法从布尔值转换为字符串,切换无法解析为变量您遵循的方法以及出现此错误的位置。布尔切换=prefs.getBoolean(“切换”,true);在第26行中进行上述更改。您是否将字符串“restoredText”更改为“toggle”类型不匹配:无法从布尔值转换为字符串,并且无法将toggle解析为变量您遵循的方法以及出现此错误的位置。boolean toggle=prefs.getBoolean(“toggle”,true);在第26行进行上述更改。您是否已将字符串“restoredText”更改为“toggle”
    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);
if(toggle = on){
main.start();
}else{
main.pause();
main.seekTo(0);
}