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