0

我遇到了一些问题。

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

为了退出标题片段并返回 PreferenceActivity 本身的标题列表,我按下后退按钮(作为用户),或者getActivity().onBackPressed()在用户按下按钮后调用返回列表用户界面。

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

这是我不明白的:

为什么它onDestroy()在活动本身清晰可见时调用?既然活动是可见的,为什么它不调用onCreate()之后呢?

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

4

2 回答 2

0

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

于 2013-01-16T00:07:46.847 回答
0

标题以单窗格模式启动新活动。这可能就是您看到 onDestroy() 用于同一个命名活动的原因,因为它以不同的意图启动相同的活动。

对于未来的读者。

于 2014-05-26T14:34:14.980 回答