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

私は、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」などの性別の値を保存します。

于 2012-08-28T17:45:10.037 に答える