我正在开发一个应用程序,在这个应用程序中,我要覆盖返回按钮。我创建了一个复选框,当点击它时,我会调用意图:
startActivityforResult();
并且将活动状态维护为:
@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");
}
这段代码运行良好且状态被维护。意味着我在编辑文本中输入值,当点击复选框以获取结果时,调用新的活动。在返回第一个活动时,状态得以保持。
但是,如果从第二个活动点击设备的后退按钮,则无法维护状态。
那么,我应该怎么做才能在后退按钮上维护状态呢?我已经搜索过,但没有找到满意的解决方案。请给我建议。
ListFragment
。导航不应该导致数据库重新查询,除非之前的活动实例已经被finish()
。 - CommonsWare