要保存 Android 单选按钮的状态,可以使用 SharedPreferences 来存储状态值。以下是一个示例代码:
首先,在你的 Activity 类中声明 SharedPreferences 对象和单选按钮对象:
private SharedPreferences sharedPreferences;
private RadioButton radioButton1, radioButton2;
接下来,在 onCreate() 方法中初始化 SharedPreferences 对象和单选按钮对象,并设置单选按钮的点击监听器:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
radioButton1 = findViewById(R.id.radioButton1);
radioButton2 = findViewById(R.id.radioButton2);
// 设置单选按钮的点击监听器
radioButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveRadioButtonState();
}
});
radioButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveRadioButtonState();
}
});
// 恢复单选按钮的状态
restoreRadioButtonState();
}
接下来,实现两个方法用于保存和恢复单选按钮的状态:
private void saveRadioButtonState() {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("radioButton1", radioButton1.isChecked());
editor.putBoolean("radioButton2", radioButton2.isChecked());
editor.apply();
}
private void restoreRadioButtonState() {
boolean radioButton1State = sharedPreferences.getBoolean("radioButton1", false);
boolean radioButton2State = sharedPreferences.getBoolean("radioButton2", false);
radioButton1.setChecked(radioButton1State);
radioButton2.setChecked(radioButton2State);
}
在 saveRadioButtonState() 方法中,我们使用 SharedPreferences.Editor 对象将单选按钮的状态值存储到 SharedPreferences 中。
在 restoreRadioButtonState() 方法中,我们使用 SharedPreferences 对象从 SharedPreferences 中获取之前保存的单选按钮的状态值,并将其应用到相应的单选按钮上。
最后,在 onDestroy() 方法中调用 saveRadioButtonState() 方法,以确保在 Activity 销毁之前保存最新的状态:
@Override
protected void onDestroy() {
super.onDestroy();
saveRadioButtonState();
}
通过这种方式,你可以保存和恢复 Android 单选按钮的状态。