在android documentantion中说:
...当活动暂停或停止时,活动的状态为 保留。这是正确的,因为Activity对象仍然存在 暂停或停止时的内存 - 有关其成员的所有信息 目前的状态仍然存在。因此,用户所做的任何更改 保留活动内部,以便在活动返回时 前景(当它“恢复”时),那些变化仍在那里。
但是在我的Activity中,当我从其他活动回来时,expandablelist被重置(所有扩展组都被折叠)。不修改数据,并且不通知或重新查询适配器和游标。 我已经检查过onDestroy回调方法永远不会被调用,只有onPause和onStop。
我使用startActivityForResult退出活动,然后使用finish()返回。
拜托,为什么我要失去国家? 感谢。
答案 0 :(得分:0)
很多时候,当你使用startActivityForResult
时,你会失去你的状态。您需要通过覆盖onSaveInstanceState
并将数据添加到Bundle来保存所有相关数据。同时覆盖onRestoreInstanceState
以便在您返回并需要恢复数据时进行处理。因此,在您的情况下,您可以向Bundle添加可扩展列表的哪些部分正在扩展,以便您可以在返回时再次展开它们。