2010-11-02 93 views
1

在ui我有一个后退按钮显示。有三种活动说A,B,C。活动A是启动画面。活动B是主屏幕。活动C是编辑屏幕。在编辑屏幕上,我只有一个后退按钮。当用户按下时,我打开活动B,其中也包含某种类型的http请求和响应。我想从堆栈中的前一个活动应该显示?我怎么能做到这一点?我可以按下设备的后退按钮打开以前的活动?活动和返回按钮

当我按下设备上的按钮没有去任何http请求?当我按下ui后退按钮时,我想实现这种行为。

回答

0

首先,在UI中显示后退按钮并不好。 每个安卓设备都有一个后退按钮。

如果您想以不同的方式处理后退按钮,请检查this link

4

我想在你的背部按钮,你可以要求b活动的意图和你的HTTP请求和响应代码是在的onCreate功能

但在设备上的后退按钮不会叫的onCreate
有两种解决方案这

一个为Macarse说,听的onkeydown

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
     Intent i = new Intent(ActivityC.this,ActivityB.class);  
      startActivity(i); 
     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 

,第二种方法是写你的代码在调用onStart ActivityB

protected void onStart() { 
     //http request and response code 
    } 

这在onStart会调用这个全时ActivityB开放

希望这有助于你

0

与onkeydown事件的解决方案可能会奏效,但使用onBackPressed在我看来是容易得多。

可以拦截返回键,带有以下重写:

@Override 
public void onBackPressed() 
{ 
    //logic here, for example an intent 
    Intent intent = new Intent(this, ActivityB.class);  
    startActivity(intent); 
} 

而对周围的其他方法super.onBackPressed();返回到以前的历史活动。