我的问题是每当我尝试保存我输入的内容时,特别是在一个放射组中检查适当的答案,其他一切都被保存但不是组中选定的单选按钮。如果我遗漏了什么,请查看我的代码。这个问题让我很生气。
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
我认为这里存在逻辑错误:(
答案 0 :(得分:1)
我假设gendertext是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”。