0

我的问题是每当我尝试保存输入的内容时,特别是检查单选组中的适当答案时,其他所有内容都已保存,但未保存组中选定的单选按钮。如果我遗漏了什么,请查看我的代码。这个问题让我发疯已经好几天了。

private void saveData(){

     //get entered value and set to a variable
     String fname_input = fnametext.getText().toString();
     int checkedButton = gendertext.getCheckedRadioButtonId();


     //SAVE shared pref value
     SharedPreferences.Editor editor = settings.edit();
     editor.putString("fname", fname_input);
     editor.putInt("gender", checkedButton);
     editor.commit();

     //show button after saving
     Toast.makeText(Profile_Pref.this, 
                "You have successfully saved!",
                Toast.LENGTH_SHORT)
                .show();

 } // end of saveData method

感谢帮助!

对于我的 loadSavedData 方法: private void loadSavedData(){

    //RETRIEVE/load the saved shared pref value
     String fname = settings.getString("fname", null);

      fnametext.setText( fname );
      gendertext.setSelected(true);

 }   // end of loadSavedData method

我认为这里有一个逻辑错误:(

4

1 回答 1

1

我假设性别文本是一个 RadioGroup。

loadSavedData() 需要检查正确的单选按钮。

private void loadSavedData(){
    //RETRIEVE/load the saved shared pref value
    String fname = settings.getString("fname", null);

    fnametext.setText( fname );

    gendertext.check(settings.getInt("gender", 0));
}  

在单独的说明中,您不应该真正将视图 ID 存储在首选项中。他们将来可以改变。而是存储性别值,例如“M”和“F”。

于 2012-08-28T17:45:10.037 回答