Почему toogleButton попадает в режим по умолчанию? - PullRequest
1 голос
/ 10 сентября 2011

В моем приложении есть две вкладки, такие как SettingTab и ApplicationTab. Теперь на вкладке настроек у меня есть кнопка toogleButton. Я сохраняю выбор tooglebutton в общем доступе с этим кодом:

myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
    prefsEditor = myPrefs.edit();

    toogleForFullResult.setOnClickListener(new View.OnClickListener() 
    {

        @Override
        public void onClick(View v) 
        {
            if (((ToggleButton)v).isChecked())
            {
                Toast.makeText(getApplicationContext(), "Full Result Sound is On", Toast.LENGTH_SHORT).show();
                prefsEditor.putBoolean("FullResultIsOn", true);
            }
           else
           {
               Toast.makeText(getApplicationContext(), "Full Result Sound is Off", Toast.LENGTH_SHORT).show();
               prefsEditor.putBoolean("FullResultIsOn", false);
           }

        }
    });

prefsEditor.commit ();

А в ApplicationTab, основываясь на выборе кнопки toogle, я играю какой-то звук. Код такой:

myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
    fullResultSound = myPrefs.getBoolean("FullResultIsOn", false);
    lessResultSound = myPrefs.getBoolean("LessResultIsOn", false);

 if(fullResultSound)
    {
        SettingsTab.toogleForFullResult.isChecked();

    }

if(fullResultSound)
        {
            playSound(soundFileForFullResult);
        }
        else
        {
            playSound();
        }

Теперь проблема в том, что если я выберу тоглеон, то он заработает только один раз. И затем, если я снова начну задание, то переключатель отключен. Почему я не могу сохранить выбор toogle в sharedPreference? Пожалуйста, помогите мне .. Спасибо.

1 Ответ

1 голос
/ 12 сентября 2011

Вам нужно сохранить

prefsEditor.commit(); 

внутри прослушивателя onclick, чтобы изменения были сохранены.Прямо сейчас это снаружи.

...