2013-12-17 87 views
0

我有一個從數據庫填充的列表視圖,以及每行的複選框。使用putExtras將值傳遞給另一個Activity的TextView。現在,當您重新啓動應用程序時,我想在TextView中顯示用複選框選擇的最後一個值。我需要SharedPreferences還是有方法?由於列表視圖中的Android複選框

+2

我認爲SharedPreferences將是您可以使用數據庫爲它的最佳 – Gooziec

+0

。 –

+0

如果選中的複選框的數量可能很多,那麼我寧願存儲在數據庫中。但是,如果選中的項目可能是一個或兩個,那麼我更喜歡SharedPreference。現在,您必須知道應用中複選框選擇的性質,因此您可以相應地將我的意見聯繫起來。 – guptakvgaurav

回答

1

保存在您的偏好複選框如下:

//method to load the sharedpreferences. 
private void loadSavedPreferences() { 
    SharedPreferences sharedPreferences = PreferenceManager 
      .getDefaultSharedPreferences(this); 
    boolean checkBoxValue = sharedPreferences.getBoolean("CheckBox_Value", false); 
    String name = sharedPreferences.getString("storedName", "YourName"); 
    if (checkBoxValue) { 
     checkBox.setChecked(true); 
    } else { 
     checkBox.setChecked(false); 
    } 

    textview.setText(name); 
} 
    //store boolean value of checkbox in sharedpreferences. 
private void savePreferences(String key, boolean value) { 
    SharedPreferences sharedPreferences = PreferenceManager 
      .getDefaultSharedPreferences(this); 
    Editor editor = sharedPreferences.edit(); 
    editor.putBoolean(key, value); 
    editor.commit(); 
} 
    //store the string sharedpreference. 
private void savePreferences(String key, String value) { 
    SharedPreferences sharedPreferences = PreferenceManager 
      .getDefaultSharedPreferences(this); 
    Editor editor = sharedPreferences.edit(); 
    editor.putString(key, value); 
    editor.commit(); 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    savePreferences("CheckBox_Value", checkBox.isChecked()); 
    savePreferences("storedName", textview.getText().toString()); 

}