当活动可见时,将调用PreferenceActivity,Headers和onDestroy

时间:2013-01-15 21:20:51

标签: android

我遇到了一些问题。

我有一个带有标题列表的PreferenceActivity,每个标题都指向一个片段。这些片段显示为单个窗格(小显示)。

为了退出标题片段并返回到PreferenceActivity本身的标题列表,我按下后退按钮(作为用户),或者如果我需要返回列表则调用getActivity().onBackPressed()用户按下UI上的按钮后。

这使我回到标题列表PreferenceActivity,但它也调用该活动的onDestroy()方法。

这是我不明白的:

为什么在活动本身清晰可见时调用onDestroy()?为什么在此之后不再调用onCreate(),因为活动是可见的?

这也有一个副作用,即调用我用来创建首先生成标题的数据列表的加载器的onReset()。这反过来使得它看起来像标题列表没有改变,即使我从列表中删除了一个项目,从而减少了标题的数量。如果我实际关闭并重新打开PreferenceActivity,标题列表将是正确的,这表明加载器本身正在工作。

2 个答案:

答案 0 :(得分:0)

我不完全理解没有代码的情况。但是从它的声音来看,你正在为活动调用onBackPressed(),因此无论碎片如何都会发生。尝试覆盖活动中的onBackPressed()并在那里处理您的片段事务。

答案 1 :(得分:0)

标题在单一窗格模式下启动新活动。这可能就是为什么你看到onDestroy()用于相同的命名活动,因为它启动相同的活动,看起来有不同的意图。

为未来的读者。