为列表视图的每个项目保存单选按钮状态

时间:2017-06-07 06:44:27

标签: android listview radio-button sharedpreferences savestate

概述

我的列表视图中有一个项目列表。单击任何项​​目时,将启动下一个活动,在该活动中,无线电组中的编辑文本和三个单选按钮很少。我将这些单选按钮命名为“现在”,“缺席”和“#39;并且'转移'。

问题和我想要实现的目标

现在我设法保存了单选按钮的状态,这样如果选中任何单选按钮然后活动关闭,那么将保存单选按钮状态。但是我的问题是每当活动关闭时存储值,所有列表视图项都会将其radiobutton状态更改为该已保存状态。

问题解释与示例

假设我的列表视图中有三个项目是教师。 A,B和C. 当我点击项目A时,活动名为'出勤'开始。类似地,当我点击B或C然后活动出勤开始。现在,如果我点击项目A并将出勤标记为出现并保存状态,那么当我打开项目B或项目C时它将告诉我现在虽然我没有改变项目B或C中的值。我只是存储了项目A的值,但它也显示了项目B和C中的更改。我不知道该怎么做保存每个列表视图项的单选按钮状态的案例

我尝试过什么

这就是我在Attendance活动中使用Oncreate方法所做的事情。

SharedPreferences settings = getSharedPreferences("answers", MODE_PRIVATE);
    boolean r2achecked = settings.getBoolean("r2a",false);
    boolean r2bchecked = settings.getBoolean("r2b",false);
    boolean r2cchecked = settings.getBoolean("r2c",false);
    if (r2achecked == true)
    {
        one.setChecked(true);
    }
    else if (r2bchecked == true)
    {
        two.setChecked(true);
    }
    if (r2cchecked == true)
    {
        three.setChecked(true);
    }

我正在考勤活动中保存单选按钮的状态

save.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            SharedPreferences settings = getSharedPreferences("answers", MODE_PRIVATE);
            SharedPreferences.Editor editor = settings.edit();
            editor.putBoolean("r2a",one.isChecked());
            editor.putBoolean("r2b",two.isChecked());
            editor.putBoolean("r2c",three.isChecked());
            editor.apply();
            finish();
            }

请帮助任何人

0 个答案:

没有答案