要保存复选框的状态并在应用关闭后保持不变,可以使用SharedPreferences来存储复选框的值。下面是一个示例代码,演示了如何保存和加载复选框的状态。
首先,创建一个名为"MainActivity"的Activity,并在布局文件中放置一个复选框。
activity_main.xml:
MainActivity.java:
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.CheckBox;
public class MainActivity extends AppCompatActivity {
private static final String PREFS_NAME = "MyPrefsFile";
private static final String KEY_CHECKBOX = "checkbox";
private CheckBox checkBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkBox = findViewById(R.id.checkBox);
// 读取保存的复选框状态
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean isChecked = settings.getBoolean(KEY_CHECKBOX, false);
checkBox.setChecked(isChecked);
}
@Override
protected void onStop() {
super.onStop();
// 保存复选框状态
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean(KEY_CHECKBOX, checkBox.isChecked());
editor.apply();
}
}
在onCreate方法中,我们从SharedPreferences中读取复选框的状态,并使用setChecked方法将其应用到复选框上。
在onStop方法中,我们将复选框的状态保存到SharedPreferences中,以便在应用关闭后保持不变。
这样,每次应用启动时,都会加载之前保存的复选框状态,并在应用关闭后保持不变。