2012-12-19 205 views
6

我有两个活动,A和B.我有一个按钮,按下时开始一个新的意图B. 然而,每当我按下返回按钮,而在B,比再次单击按钮是重新启动活动。我不想这样做,我想它恢复活动B.其实我在活动B中做一些网络,我想保存,除非用户想刷新。 我该怎么办?在此先感谢不破坏上后退按钮当前活动被按下

+0

把代码放在你的问题中,你使用什么方法?!你有没有试过 onResume()? –

+0

你的意思是,你想禁用后退按钮? – Egor

+0

在开始活动时不要致电完成()B –

回答

1

您需要超控器的

onBackPressed

方法,并开始有这样的活动:

@Override 
    public void onBackPressed() { 
    Intent intent = new Intent(this, activityA.class); 
    startActivityForResult(intent, PICK_CONTACT_REQ); 
} 
10

使用

@Override 
    public void onBackPressed(){ 
     moveTaskToBack(true); 
    } 

希望,它必须帮助你

+0

这很简单容易!感谢 – user1501382

1

这听起来像是你需要重新考虑你的架构。你说:

其实我在活动B做一些网络,我想保存 ,除非用户想刷新。

如果是这种情况,您可能不想在ActivityB中进行联网。也许你应该从ActivityB开始Service做网络。服务和活动可以相互通信,以便活动可以使用户了解网络的最新状态。如果用户在ActivityB中按下BACK,它可以完成(照常)并返回到ActivityA。在这种情况下,该服务仍在管理网络。当用户再次启动ActivityB(来自ActivityA)时,ActivityB的新实例可以与服务进行通信,以查看是否有任何网络正在进行,如果有,它可以获取该网络的当前状态,或启动或停止它或随你。

+0

YAA你是对的..但我不知道如何做到这一点..你可以帮助更多.. – Dory

+0

不是真的:-(我需要看到你已经有了,并且超出了Q&A论坛的范围。这成为了小时候的软件咨询;-)看看在后台线程中执行网络I/O的教程和示例代码。祝你好运! –

相关问题