我遇到了一些与我的应用程序,我不知道如何解决的问题。当我开始我的应用程序时,我的仪表板活动启动并执行一些网络任务(在后台下载信息)。然后,我点击了新闻按钮,然后我被带到新闻活动中,在那里我再次下载后台信息,用最新消息填充我的列表视图。要启动我使用下面的代码活动的新闻:Android - 执行额外的不必要的任务来回
public void onNewsClick(View v) {
startActivity(new Intent(this, NewsActivity.class));
}
里面的新闻活动我有主页按钮,用户应按找回仪表盘的操作栏。如果我点击了android后退按钮,dashboad就会打开,并且第一次启动仪表板时下载的数据不会再次下载(预期场景)。但是,如果我点击主页按钮,仪表板将打开并重新下载数据。当按下主页按钮时会取消以下代码:
public static Intent createIntent(Context context) {
Intent i = new Intent(context, DashboardActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
return i;
}
如果按Home按钮,我希望仪表板不会再次下载数据。此外,如果我再次开始新闻活动,最新消息的列表将再次下载,这将导致大量流量,我不希望它。
所以我有两个问题: 1.我怎样才能让用户回到仪表板而不再次加载数据? 2.如何在没有重新加载列表的情况下返回新闻活动的停留时间?
非常感谢您的任何答案! 牛逼
第一个建议工作正常。现在回到仪表板不会重新加载数据。但是,第二个建议不起作用。当从仪表板返回新闻活动时,数据再次被加载... – Thiago 2011-04-20 17:45:07
我正在查看应用程序中的Lindked,他们有我想要在我的活动中实现的相同行为。一旦进入更新活动,如果您返回仪表板再次转到更新活动,则不会再次加载数据。 – Thiago 2011-04-20 18:09:33
尝试删除i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)标志。这会导致您的NewsActivity在您按下主页按钮时被破坏,从而导致必须重新创建它。 – Joe 2011-04-20 18:17:48