Флажок Android-Making стабильный даже после закрытия приложения: - PullRequest
0 голосов
/ 13 февраля 2012

Я использовал метод onCheckedChanged для обработки флажков. Он хорошо работает, когда я щелкаю. После закрытия или закрытия приложения и при повторном его открытии состояние флажков остается отключенным. даже после закрытия приложения и его повторного открытия. Я пытался использовать общие преференции, опубликованные здесь, чтобы добиться этого. Но так как я не прояснил это, я не смог.

viewHolder.checkbox
                .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

                    @Override
                    public void onCheckedChanged(CompoundButton buttonView,
                            boolean isChecked) {


                        Model element = (Model) viewHolder.checkbox
                                .getTag();
                        element.setSelected(buttonView.isChecked());


   Interactivearrayadapter.this.putBooleanInPreferences(isChecked,"isChecked");
 }
  });
  }

 public void putBooleanInPreferences(boolean isChecked,String key){
    SharedPreferences sharedPreferences = this.getPreferences(Activity.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putBoolean(key, isChecked);
    editor.commit();        
}
public boolean getBooleanFromPreferences(String key){
    SharedPreferences sharedPreferences = this.getPreferences(Activity.MODE_PRIVATE);
    Boolean isChecked = sharedPreferences.getBoolean(key, false);
    return isChecked;   

Я использовал этот код внутри класса Interactivearrayadapter, так как я отображал флажки в списке. Ошибка показывает в getpreference (строка) не поддерживается этот класс.

Ответы [ 2 ]

2 голосов
/ 13 февраля 2012

сохраните свой флажок ischecked() флаг в sharedpreferences и получите этот флаг и отобразите его при каждом запуске приложения в следующий раз.

0 голосов
/ 13 февраля 2012

Используйте предпочтения для каждого флажка. Если отображается действие, прочитайте предпочтение и установите или снимите флажок (например, в onResume ()). Зарегистрируйте OnClickListener для каждого флажка и, если флажок установлен, измените значение предпочтения. Я написал краткое объяснение о том, как использовать общие настройки со строками: https://stackoverflow.com/a/9238997/1127492 Чтобы вместо этого изменить пример для логического значения, если строка проста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...