保存和加载复选框状态的解决方法可以使用SharedPreferences来存储和获取状态。下面是一个示例代码:
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.widget.CheckBox;
import android.widget.CompoundButton;
public class MainActivity extends AppCompatActivity {
private CheckBox checkBox;
private SharedPreferences sharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkBox = findViewById(R.id.checkbox);
// 获取默认的SharedPreferences实例
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
// 从SharedPreferences中获取上次保存的状态,默认为false
boolean isChecked = sharedPreferences.getBoolean("checkbox_state", false);
checkBox.setChecked(isChecked);
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// 保存复选框状态到SharedPreferences
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("checkbox_state", isChecked);
editor.apply();
}
});
}
}
上述代码中,我们首先在布局文件中添加了一个复选框(id为checkbox
),然后在onCreate()
方法中获取了SharedPreferences实例,并从中获取上次保存的状态,将其设置给复选框。当复选框状态发生改变时,我们将新的状态保存到SharedPreferences中。
这样,每次应用启动时,都会从SharedPreferences中获取上次保存的状态,并将其设置给复选框。
上一篇:保存和加载独热编码用于机器学习
下一篇:保存和加载复选框状态到文件