gpt4 book ai didi

Android:后退按钮中的 onSaveInstanceState

转载 作者:太空宇宙 更新时间:2023-11-03 10:23:45 26 4
gpt4 key购买 nike

我正在开发一个覆盖后退按钮的应用程序。我创建了一个复选框。单击我要调用的 Intent :

startActivityforResult();

并且还将 Activity 状态保持为:

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putBoolean("checkbox", checkbox.isChecked());
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
checkbox_state = savedInstanceState.getBoolean("checkbox");
}

运行良好,状态保持不变。意味着我在编辑文本中输入值。并在复选框上单击为结果调用新 Activity ,并在返回第一个 Activity 时保持状态。

现在,但是从第二个 Activity 开始,如果我点击设备后退按钮,状态将不会保持。

那么我应该怎么做才能保持后退按钮的状态。我搜索但没有找到满意的解决方案。请给我建议。

最佳答案

当您启动新的 Activity 时,当前的 Activity 将被隐藏,新的 Activity 将被放置在堆栈的顶部。现在,如果您按下新 Activity 上的后退按钮,那么第一个 Activity 应该以其当前状态(如果它没有被销毁,调用 finish())出现在它离开的地方,即如果复选框被选中,那么它应该保持检查。除非方向改变或 Activity 被销毁,否则您不需要保存 Activity 状态。

您确定您没有在影响复选框状态的 onActivityResult 或 onResume() 方法中执行任何操作吗?我建议首先注释掉这两种方法中的所有代码,然后查看您的复选框是否保留状态。您还可以确保代码本身不会在启动新 Activity 之前取消选中该复选框吗?

关于Android:后退按钮中的 onSaveInstanceState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15569790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com