2014-07-23 57 views
0

我只有一個開關在我的片段上切換。現在應用程序正在做什麼:用戶打開應用程序並在導航抽屜上選擇「筆記本電腦」,然後他看到一個開關(它是一個「滑塊」,您可以打開或關閉...希望您瞭解我意思)。用戶將開關設置爲ON,然後關閉應用程序並重新打開它,並且開關關閉......但它不應該關閉......應該打開,就像用戶設置它一樣。我該怎麼做?交換機應該保存它的狀態,用戶如何選擇它。 我需要mysql還是什麼?如何在android中保存片段的狀態?

(順便說一句,我使用過Android Studio)

我希望你明白我的意思

感謝

+0

此問題在這裏得到解答:http://stackoverflow.com/a/24889044/3834076 – Ali

回答

0

股價嘗試使用共享偏好來保存應用程序數據,應用程序可以保存數據當應用程序重新啓動時,它可以再次從共享偏好載入數據...希望它有幫助:)

0

您應該使用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信息。

請記住,爲首選項名稱提供的字符串區分大小寫,並且需要相同以獲得相同的首選項。

+0

感謝您的幫助,但問題已得到解答 – Ali

相關問題