2016-03-20 4 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" /> 

を行くときねえ、私はオンまたはオフに設定するfirebase形態におけるswitch.It店舗データを使用していたためにアンドロイドのプロジェクトに取り組んでいます降りますがとアプリ内の別のページにアクセスして、同じページに再度アクセスすると、スイッチのステータスが自動的にオフに設定されます。私はそれをユーザーが設定したのと同じにしておきたい。Androidのスイッチが自動的に私は別のページに

+0

sharedpreferencesを使用してブーリアンを保存し、スイッチで処理する –

答えて

1

アクティビティに再度アクセスすると、ビューが再作成されるため、switchの値がデフォルト値に復元されることが明確になります。

SharedPreferencesを使用してSwitchの値を保存することでこれを処理できます。ここでは簡単なデモンストレーションです。あなたはSwitchPreferenceを使用する必要があり、あなたの質問

0

に答える

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

希望。スイッチの状態は、デフォルトの共有設定に、SwitchPreferenceのIDと同じキーで自動的に保存されます。

これは、一部の設定を保存するための推奨方法です。他にも必要なすべてのオプションには、CheckboxPreference、ListPreferenceなどがあります。

関連する問題