当我转到另一个页面时,Android开关自动下车

时间:2016-03-20 17:47:26

标签: android

<p id="user"></p></p>
<p id="rock"></p>
<p id="paper"></p>
<p id="scisors"></p>
<p id="check"></p>
<script>
var userChoice = prompt("Do you choose rock, paper, or scissors?");
document.getElementById("user").innerHTML=(userChoice);
var computerChoice = Math.random();
if (computerChoice <=.3399){
document.getElementById("rock").innerHTML=("rock");
document.getElementById("rock").innerHTML+=(computerChoice);
};


else if (computerChoice >=.34<.67){
document.getElementById("paper").innerHTML=("paper");
document.getElementById("paper").innerHTML+=(computerChoice);
};

else if (computerChoice >=.67){
document.getElementById("scisors").innerHTML=("sciscors");
document.getElementById("scisors").innerHTML+=(computerChoice);
};

嘿我正在研究我正在使用switch的android项目。它根据设置打开或关闭在firebase中存储数据但是如果我在交换机上设置并访问应用程序中的另一个页面,之后我再次访问同一页面开关的状态自动关闭。我希望保持与用户设置的相同。

2 个答案:

答案 0 :(得分:2)

当您重新访问该活动时,很清楚您的switch值将恢复为默认值,因为视图已重新创建。

您可以使用SharedPreferences保存Switch值来解决此问题。这是一个快速演示。

SharedPreferences sharedpreferences = getSharedPreferences("MY PREFS",   Context.MODE_PRIVATE);
Switch mySwitch = (Switch) findViewById(R.id.switch);
mySwitch.setChecked(sharedpreferences.getBoolean("switch_value", false));
mySwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
 @Override
 public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {

    SharedPreferences.Editor editor = sharedpreferences.edit();
    editor.putBoolean("switch_value", isCheked);
    editor.commit();
 }
});

希望能回答你的问题

答案 1 :(得分:0)

您应该使用SwitchPreference。它会自动将您的开关状态保存到与SwitchPreference的ID相同的键下的默认共享首选项

这是保存某些设置的推荐方法。对于您可能需要的所有其他选项,还有CheckboxPreference,ListPreference等。