2012-02-13 24 views
0

我用onCheckedChanged方法來處理工作良好,當我離開clicked.After或關閉應用程序,當我重新打開它的checkboxes.Its,複選框狀態保持disabled.I希望我的checkboes狀態,我點擊(選中/取消),即使是在關閉應用程序,並重新打開它。我試圖用張貼在這裏實現它。但是sharedpreferences,因爲我不清除它,我不能後。Android的製作過程,甚至在關閉應用程序後複選框狀態穩定:

viewHolder.checkbox 
       .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

        @Override 
        public void onCheckedChanged(CompoundButton buttonView, 
          boolean isChecked) { 


         Model element = (Model) viewHolder.checkbox 
           .getTag(); 
         element.setSelected(buttonView.isChecked()); 


    Interactivearrayadapter.this.putBooleanInPreferences(isChecked,"isChecked"); 
} 
    }); 
    } 

public void putBooleanInPreferences(boolean isChecked,String key){ 
    SharedPreferences sharedPreferences = this.getPreferences(Activity.MODE_PRIVATE); 
    SharedPreferences.Editor editor = sharedPreferences.edit(); 
    editor.putBoolean(key, isChecked); 
    editor.commit();   
} 
public boolean getBooleanFromPreferences(String key){ 
    SharedPreferences sharedPreferences = this.getPreferences(Activity.MODE_PRIVATE); 
    Boolean isChecked = sharedPreferences.getBoolean(key, false); 
    return isChecked; 

我用Interactivearrayadapter類中此代碼,因爲我在list.Error顯示覆選框示出getpreference(字符串)此類不支持的。

+0

使用CheckBoxPrefrence http://developer.android.com/reference/android/preference/CheckBoxPreference.html和示例在這裏http://androidpartaker.wordpress.com/2010/07/11/android-preferences/ – 2012-02-13 12:25:43

+0

我更新我的代碼 – Mercy 2012-02-13 12:28:50

回答

2

將您的複選框ischecked()標記在sharedpreferences並獲得該標誌並在下次啓動應用時顯示。

0

用於每個複選框的偏好。如果顯示的活性讀取偏好和選擇或取消選擇的複選框(例如,在的onResume())。爲每個複選框註冊一個OnClickListener,並且如果複選框被單擊,請修改首選項值。 我寫了一篇關於如何使用字符串這裏共享偏好的簡短說明:https://stackoverflow.com/a/9238997/1127492 要修改例如布爾,而是如果字符串很簡單。

相關問題