【问题标题】:Android CheckBox in ListviewListview中的Android CheckBox
【发布时间】:2013-12-17 19:13:27
【问题描述】:

我有一个从数据库中填充的列表视图,每行都有一个复选框。使用 putExtras 将值传递给一个 TextView 到另一个 Activity。现在,当您重新启动应用程序时,我想在 TextView 中显示最后一个用复选框选择的值。我需要 SharedPreferences 还是有方法?谢谢

【问题讨论】:

  • 我认为 SharedPreferences 会是最好的
  • 你可以使用数据库。
  • 如果选中的复选框数量可能很多,那么我宁愿存储在数据库中。但是,如果选中的项目可能是一两个,在这种情况下,我更喜欢 SharedPreference。现在,您必须了解应用中复选框选择的性质,因此您可以相应地表达我的意见。

标签: android listview checkbox


【解决方案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());

}

【讨论】:

    猜你喜欢
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    相关资源
    最近更新 更多