保存单选按钮状态并重新填充状态

Saving radio button state and repopulating the state

我有一个自定义的 ArrayAdapter,它由一个布局填充,其中包含一个具有单选模式的单选按钮。我设法保存添加到 ListView 的项目,并在 activity 被销毁但选中的单选按钮失去其状态时重新填充 ListView。在网上搜索了两天,发现唯一的解决方案是使用 SharedPreference 保存单选按钮。 这是我到目前为止所做的,也许有人可以指出我正确的方向。谢谢

代码:- 我使用 setOnItemClickListener() 捕获列表视图中的项目和单选按钮以保存,但无法弄清楚如何从 sharedpreference 重新填充选中的单选按钮,如果这确实是正确的话方式。

OnCreate()方法代码:-

ListView sist = (ListView) findViewById(R.id.list);
adapter = new SAdapter(this, populateArrayList());
sList.setOnItemClickListener(itemListener);
sList.setAdapter(adapter);

onItemClickListener代码:-

   private AdapterView.OnItemClickListener itemListener = new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        for (int i= 0; i < parent.getCount(); i++) {
            view = parent.getChildAt(i);
            RadioButton s_rb = (RadioButton) view.findViewById(R.id.s_rdb);
            int checkedState = s_rb.isChecked() ? 1 : 0;
            saveState(s_rb.getId(), checkedState);
        }
    }
};

将项目添加到适配器和数据库的代码:-

InfoHelper helper = new InfoHelper(Number_et.getText().toString(),messageBody_et.getText().toString());
adapter.add(helper);
insertInfoToDB(helper);

我的问题是如何保存单选按钮的状态,因为列表之前是从数据库更新的。如果这还不够,可以提供更多代码。

1) 为此,您必须在数据库中创建一个 table,它将维护所有与单选按钮相关的数据,例如单选按钮的文本,还为存储单选按钮状态的每一行维护一个唯一的数据 ID 和一个布尔标志

2)你可以从数据库中获取所有数据到数组列表中,并将其设置为适配器。

3)当用户根据数据库中针对该 id 的更新行单击单选按钮时,用于维护单选状态。