【问题标题】:AsyncTask re-executing onresumeAsyncTask 重新执行 onresume
【发布时间】:2013-05-02 21:35:08
【问题描述】:

我有这个小问题。

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

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

我不确定这是因为 Listview 的活动破坏并丢失了所有引用,还是因为 onResume(我认为)正在调用 onCreate。

【问题讨论】:

    标签: android-asynctask oncreate onresume activity-lifecycle


    【解决方案1】:

    当您按下返回时,您将返回到该活动的同一个旧实例。

    如果您希望异步任务再次运行,您需要在 onResume 中调用它的执行。

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

    【讨论】:

    • OnResume 被调用,但不是 AsyncTask 重新执行。有什么解决办法吗?
    猜你喜欢
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多