1.分析
1 | 首先,当用户 勾选/未勾选 复选框的时候,保存它的勾选状态(比如记住密码)cb.isChecked() |
---|---|
2 | 当程序下次运行的时候,要走MainActivity的onCreate()方法,因此在此方法中取出上次记忆的状态 |
3.1 | 取出的值如果为true,说明上次用户点击了记住密码。所以此时复选框状态应该设置为✅勾选状态,同时填充账户信息 |
3.2 | 取出的值如果为false,说明上次用户没有点击记住密码。没有记住密码就应该把当前复选框状态设置为×未选中状态 |
对应代码部分:
1.保存勾选状态/未勾选状态(✅)
if(cb.isChecked()){
getSharedPreferences("checkInfo",0).edit().putBoolean("cbState",true).commit();
// TODO: 2018/12/22 保存密码或者其他逻辑...
}
2.在onCreate()中添加
if条件为true,上次状态✅,将复选框设置为✅
if条件未false,上次状态 ×(未勾选),复选框默认为 x(未勾选),不需要做什么处理
if(getSharedPreferences("checkInfo",0).getBoolean("cbState",false)){
cb.setChecked(true);
// TODO: 2018/12/22 填充保存的信息等...
}
//CheckBox默认状态为false,如果上次没有选中复选框,全部默认就好