Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android使用SharedReferences在另一个按钮上保存单选按钮值_Android_Sharedpreferences - Fatal编程技术网

Android使用SharedReferences在另一个按钮上保存单选按钮值

Android使用SharedReferences在另一个按钮上保存单选按钮值,android,sharedpreferences,Android,Sharedpreferences,我设法保存了文本字段,但在单击“保存”时不知道如何保存单选按钮的选定值 下面的内容对于一个字段来说很好,但我想为性保留价值。radiogroup的id为RadioEx 请有人帮我翻译一下代码,因为我看了文档后总是感到困惑或出错 谢谢 这是我的密码: public class Settings extends Activity { EditText editText; Button button; @Override public void onCreate(Bun

我设法保存了文本字段,但在单击“保存”时不知道如何保存单选按钮的选定值

下面的内容对于一个字段来说很好,但我想为性保留价值。radiogroup的id为RadioEx

请有人帮我翻译一下代码,因为我看了文档后总是感到困惑或出错

谢谢

这是我的密码:

public class Settings extends Activity {
    EditText editText;
    Button button;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings);
        editText = (EditText) findViewById(R.id.editText);
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new Button_Clicker());
        loadSavedPreferences();

    }
    private void loadSavedPreferences() {
        SharedPreferences sharedPreferences = PreferenceManager
                .getDefaultSharedPreferences(this);

        String name = sharedPreferences.getString("savedname", "Your Name");
        editText.setText(name);
    }

    private void savePreferences(String key, String value) {
        SharedPreferences sharedPreferences = PreferenceManager
                .getDefaultSharedPreferences(this);
        Editor editor = sharedPreferences.edit();
        editor.putString(key, value);
        editor.commit();
    }

    class Button_Clicker implements Button.OnClickListener {
        public void onClick(View v) {

            savePreferences("savedname", editText.getText().toString());

            finish();
        }
    }
}

要保存,请像这样使用它

private void saveGenderInPreference() {
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    Editor editor = sharedPreferences.edit();

    radioSexGroup = (RadioGroup) findViewById(R.id.radioSex);
    int selectedId = radioSexGroup.getCheckedRadioButtonId();
    if(selectedId == R.id.male_radio_button)
        editor.putBoolean("is_male", true);
    else
        editor.putBoolean("is_male", false);

    editor.commit();
}
RadioButton male = (RadioButton)findViewById(R.id.male_radio_button);
RadioButton female = (RadioButton)findViewById(R.id.female_radio_button);
if(sharedPreferences.getBoolean("is_male", false))
    male.setChecked(true);
else
    female.setChecked(true);
调用
onClick()
中的
saveGenderInPreference()
方法,或者在您想要保存此方法时调用

要加载,请像这样使用它

private void saveGenderInPreference() {
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    Editor editor = sharedPreferences.edit();

    radioSexGroup = (RadioGroup) findViewById(R.id.radioSex);
    int selectedId = radioSexGroup.getCheckedRadioButtonId();
    if(selectedId == R.id.male_radio_button)
        editor.putBoolean("is_male", true);
    else
        editor.putBoolean("is_male", false);

    editor.commit();
}
RadioButton male = (RadioButton)findViewById(R.id.male_radio_button);
RadioButton female = (RadioButton)findViewById(R.id.female_radio_button);
if(sharedPreferences.getBoolean("is_male", false))
    male.setChecked(true);
else
    female.setChecked(true);
LoadSavedReferences

p.S.Id
R.Id.male\u单选按钮
是指示性的。在此处使用您自己的id

您可以执行以下操作:

RadioGroup radiogroup = (RadioGroup) findViewById(R.id.radioSex);

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();


radiogroup.setOnCheckedChangeListener(new OnCheckedChangeListener() 
{
    public void onCheckedChanged(RadioGroup group, int checkedId) {

         switch(checkedId){
            case R.id.radio0:

               editor.putString("sex", "Male");
            break;

            case R.id.radio1:
               editor.putString("sex", "Female");
            break;

         }
    }
});

我要在哪里添加它,我要在load方法中添加它吗?它是为了保存。要加载,请从首选项获取值并在需要的位置使用它。如果我要加载该值,该怎么办?我在load中调用它吗?是的,但为此,您必须使用这个
SharedReferences.getBoolean(“is_male”,false)好的,让我给它一个goDon,当它被选中时,我真的不需要保存它;有一个用于相同目的的保存按钮。不需要额外的工作。