I have a set of RadioGroup with 3 radios buttons, and I need to save it in a shared preferences.
XML:
<RadioGroup
android:id="@+id/radioGroupOpcoes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="36dp"
android:layout_marginTop="132dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<RadioButton
android:id="@+id/radioButtonEmpregado"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/radioEmpregado" />
<RadioButton
android:id="@+id/radioButtonDesempregado"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/radioDesempregado" />
<RadioButton
android:id="@+id/radioButtonNaoProcura"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/radio_nao_procura_ocupacao" />
</RadioGroup>
Java:
public class PrincipalActivity extends AppCompatActivity {
private EditText edtnome;
private RadioGroup valor;
private String opcoes = "";
private SharedPreferences save;
private SharedPreferences.Editor editor;
private int indiceSelecionado;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
edtnome = (EditText) findViewById(R.id.editTextNome);
valor = (RadioGroup) findViewById(R.id.radioGroupOpcoes);
save = getSharedPreferences("save",MODE_PRIVATE);
edtnome.setText(save.getString("nomeEdit", ""));
}
@Override
protected void onStop() {
/*
Ao ser chamado o metodo onStop ou seja, após a aplicação parar é feito um putString
do nome digitado pelo usuário, assim ele grava o ultimo nome digitado para que quando
volte para a aplicação o campo Nome já esta preenchido
*/
super.onStop();
editor = save.edit();
editor.putString("nomeEdit", edtnome.getText().toString());
editor.commit();
}
I need in the OnStop method to save the informed radio, like the text.