您應該使用SharedPreferences
來保存由Switch
捕獲的數據。嘗試以下操作。
(在你的onViewCreated你初始化你的其他的東西后)
Switch mySwitch = (Switch) findViewById(R.id.mySwitch); // or however else you want to initialize it
final String SWITCH_BOOLEAN = "switchBoolean";
final String PREFERENCE_NAME = "sharedPreferenceFile";
final SharedPreferences prefs = getActivity().getSharedPreferences(PREFERENCE_NAME, 0); // change the name to what you want, this is an xml file that stores your preferences
final SharedPreferences.Editor prefsEditor = prefs.getEditor();
mySwitch.setChecked(prefs.getBoolean(SWITCH_BOOLEAN, false); //also change this name to what you want.
mySwitch.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
prefsEditor.putBoolean(SWITCH_BOOLEAN, isChecked);
prefsEditor.apply();
}
});
請參考SharedPreferences的交換機上信息SharedPreferences和this信息。
請記住,爲首選項名稱提供的字符串區分大小寫,並且需要相同以獲得相同的首選項。
此問題在這裏得到解答:http://stackoverflow.com/a/24889044/3834076 – Ali