[英]Android saving state of checkbox if exit app
我有5個復選框,當它們被單擊時,它們使用onCheckedChangeListener將抽象類中的布爾值設置為true或false。 例:
checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked)
{
if(isChecked)
{
CheckboxData.checked = true;
}
else if(!isChecked)
{
CheckboxData.checked = false;
}
}
});
但是,當我離開應用程序並返回時,不再單擊復選框,但是布爾值仍然為true。 如何使應用程序記住復選框是否已單擊。 我應該只檢查主要活動onCreate中的布爾值,然后將復選框設置為選中還是不選中,或者是否有更好/更快的方法使應用程序記住復選框狀態?
剛剛在主要活動的onCreate方法中添加了此代碼:
if(CheckboxData.checked)
{
CheckBox checkbox = (CheckBox) findViewById(R.id.checkbox);
checkbox.setChecked(true);
}
卻什么也沒做
當Activity
被destroyed
請檢查復選框狀態是否為true,並將復選框狀態添加到shared Preference
@Override
public void onDestroy() {
if(CheckboxData.checked){
SharedPreferences prefs = getSharedPreferences("private preference", Context.MODE_PRIVATE);
prefs.edit()
.putBoolean("CheckboxData",true)
.commit();
}
super. onDestroy();
}
當Activity
重新啟動時,在onCreate
中優先檢查復選框狀態,如果為true,則啟用該復選框
SharedPreferences prefs = getSharedPreferences("private preference", Context.MODE_PRIVATE);
boolean isChecked = prefs.getBoolean("CheckboxData",false);
if(isChecked)
checkBoxView.setChecked(true)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.