【问题标题】:going back to the main menu after doInBackground is donedoInBackground 完成后返回主菜单
【发布时间】:2014-09-28 19:16:48
【问题描述】:

我正在使用一些后台 asyncTask,我在其中发送一个发布请求以更新数据库中的项目。

“doInBackground”阶段完成后,我想返回主菜单,因为项目尚未更新(数据库更改后)。

返回主菜单(返回 2 个屏幕)的最佳方式是什么?

我已经通过使用 onActivityResult 方法解决了这个问题,并在活动之间发送一个结果代码,表示它可以完成每个活动,直到达到最后一个所需的活动,然后重新加载最后一个活动:

        Intent intent = getIntent();
        finish();
        startActivity(intent);

【问题讨论】:

  • 您的“主菜单”是什么?你从哪里开始你的异步任务?
  • 您从未告诉过您去了“另一个菜单”。当异步任务完成时,您在哪个“菜单”中?屏幕是什么意思?

标签: android android-asynctask


【解决方案1】:

AsyncTasks 有三个方法,当您在AsyncTask 的对象上调用 execute 时,它​​们会依次调用。

doInBackground() 方法完成其工作后,将调用 AsyncTask 的 onPostExecute() 方法。重写该方法并检查收到的响应,如果收到有效响应,而不是像您一样调用 intent从一项活动到另一项活动到您的主菜单,否则您可以有其他选择。

Intent intent = new Intent(context, YourActivityClass.class);
startActivity(intent);

【讨论】:

  • thanx 但我不想开始新的意图..我想回到原来的意图..
  • 如果你能告诉我,你为什么不想那样做?这样我就可以帮忙了:)
  • 好吧,只是当我尝试你的方式时,我确实得到了所需的屏幕..但后来我与服务器的通信出现了一些问题..我必须更仔细地查看它..
  • 使用onActivityResult方法怎么样?
猜你喜欢
  • 1970-01-01
  • 2017-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-16
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多