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);
            }
        }