AsyncTask重新执行onresume

时间:2013-05-02 21:35:08

标签: android-asynctask oncreate onresume activity-lifecycle

我有这个小问题。

我使用AsyncTask从网络将数据提取到ListView中。如果我按下一个项目,它会带我去另一个活动。然后,如果我按下'后退'按钮,AsyncTask不再执行。 (这正是我想要的)。

问题是,如果在ListView上我按下后退按钮,然后我再次进入listView活动,AsyncTask再次执行。

我不确定是否会发生这种情况,因为Listview的活动会破坏并丢失所有引用,或者因为onResume(我认为)正在召回onCreate。

1 个答案:

答案 0 :(得分:0)

当您按下时,您将返回相同的旧活动实例。

如果你想再次运行asynctask,你需要在onResume中调用它的执行。

从你所说的,似乎你在活动oncreate中调用asynctask执行。当您从listview活动返回并返回时,您将再次创建活动,这就是执行asynctask的原因。 onResume总是在onCreate之后调用。 当您的活动成为焦点时,总会调用onResume。