活动和后退按钮

时间:2010-11-02 11:13:09

标签: android button back

在ui上我显示了一个后退按钮。有三个活动说A,B,C。活动A是启动画面。活动B是主屏幕。活动C是编辑屏幕。在编辑屏幕上我只有一个后退按钮。当用户按下我打开活动B时,活动B也包含某种http请求和响应。我想要显示堆栈中的上一个活动吗?我怎么能实现这一目标?我可以按下设备的后退按钮打开上一个活动吗?

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

3 个答案:

答案 0 :(得分:4)

我认为在你的后退按钮中你可以调用活动B的意图,你的http请求和响应代码在onCreate函数中

但设备上的后退按钮不会调用onCreate
这有两个解决方案

一个人像Macarse说的那样,听听KeyDown

@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);
}

第二种方法是在ActivityB的onStart上编写代码

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

当ActivityB打开时,此onStart将始终调用

希望这能帮到你

答案 1 :(得分:0)

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

如果您想以其他方式处理后退按钮,请检查this link

答案 2 :(得分:0)

使用onKeyDown的解决方案可能有效,但在我看来使用onBackPressed更容易。

您可以使用以下覆盖截取Back键:

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

另一方面,super.onBackPressed();返回历史记录中的上一个活动。