2016-03-20 3 views
0
<Switch 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/light_r1" 
    android:layout_alignBottom="@+id/textView2" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:layout_marginRight="43dp" 
    android:layout_marginEnd="43dp" /> 

Эй, я работаю над андроидом проекта, для которого я использую switch.It хранит данные в соответствии с firebase или выключается, но если я установить переключатель и посетите другую страницу в приложении и после этого, когда я перейду на ту же страницу, статус переключателя автоматически отключится. Я хочу сохранить его так же, как пользователь.Android переключателя автоматически сбивается, когда я перейти на другую страницу

+0

Использовать sharedpreferences для хранения логических данных, затем делать вещи с помощью вашего коммутатора –

ответ

1

Когда вы пересматриваете активность, кристально ясно, что ваше значение switch будет восстановлено по умолчанию, так как представление воссоздается.

Вы можете справиться с этим, сохранив значение Switch с помощью SharedPreferences. Ниже приведена быстрая демонстрация.

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

Надеется, что ответ на ваш вопрос

0

Вы должны использовать SwitchPreference. Он автоматически сохранит ваше состояние переключателя в стандартных настройках по умолчанию под ключом, аналогичным идентификатору вашего коммутатора.

Это рекомендуемый способ сохранить некоторые настройки. Также есть флажок checkboxPreference, ListPreference и т. Д. Для всех других параметров, которые могут вам понадобиться.

Смежные вопросы