Android 切换按钮状态加载问题
我正在使用Android 切换按钮状态加载问题,android,sharedpreferences,android-togglebutton,Android,Sharedpreferences,Android Togglebutton,我正在使用Toggle按钮,现在在活动之间切换时,我必须控制它的状态,我也能够控制状态,但即使切换状态是关闭它仍在执行切换任务 boolean tg1pref; public SharedPreferences preferences; toggleMap = (ToggleButton) findViewById(R.id.toggleMap); toggleMap.setOnCheckedChangeListener(this); pref
Toggle
按钮,现在在活动之间切换时,我必须控制它的状态
,我也能够控制状态,但即使切换状态是关闭
它仍在执行切换任务
boolean tg1pref;
public SharedPreferences preferences;
toggleMap = (ToggleButton) findViewById(R.id.toggleMap);
toggleMap.setOnCheckedChangeListener(this);
preferences = getApplicationContext().getSharedPreferences("tg1pref",0);
tg1pref = preferences.getBoolean("tg1pref", true);
if (tg1pref) {
toggleMap.setChecked(true);
} else {
toggleMap.setChecked(false);
}
...........
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
if(isChecked)
{
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("tg1pref", true); // value to store
editor.commit();
cd = new ConnectionDetector(getApplicationContext());
// Check for internet connection
if (!cd.isConnectingToInternet()) {
// Internet Connection is not present
alert.showAlertDialog(PunchInActivity.this, "Internet not available",
"Please connect to working Internet connection", false);
// stop executing code by return
return;
}
else
{
startTimer();
}
} else
{
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("tg1pref", false); // value to store
editor.commit();
}
}
在上述行中使用false而不是true。这应该行。我自己解决了这个问题,在onResume()中移动了代码
你在进行第二项活动时是否完成了第一项活动?
tg1pref = preferences.getBoolean("tg1pref", true);
@Override
protected void onResume() {
super.onResume();
tg1pref = preferences.getBoolean("tg1pref", true);
if (tg1pref) {
toggleMap.setChecked(true);
} else {
toggleMap.setChecked(false);
}
}