需求
Activity B界面有二个switch按钮
当触发finish()返回上一层Activity A时
想要ActivityB保存switch的点击状态
实现 (通过该文章了解到解决方法!–>Android保存Activity状态)
在Activity B中添加
// name1
String isName1;
// boolean1
public static boolean isBoolean1 = false;
// name2
String isName2;
// boolean2
public static boolean isBoolean2 = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 再次进来时如果有数据 - 获取退出前保存的数据
if (savedInstanceState != null){
isName1 = savedInstanceState.getString("isName");
isName2 = savedInstanceState.getString("isName2");
}
}
// 对数据进行保存 - 在onCreate中获取
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
// 保存第一个
outState.putBoolean(isName1,isBoolean);
// 保存第二个
outState.putBoolean(isName2,isBoolean2);
}
我这里是保存判断,根据需求保存
注意:
finish()触发时,先走onPause() --> onStop() --> onDestroy()