如何将onBackButton侦听器设置为活动

时间:2012-04-03 14:36:34

标签: android android-activity android-intent

我有一个A类,它通过startActivityForResult传递Intent来运行活动。在其他课程中,让我们说B我得到这个Intent并通过它重新创建活动。我该如何收听该活动的活动,例如为结果启动的活动正在运行,用户按下“后退”按钮,所以我想做一些动作。 我怎样才能做到这一点? 提前谢谢你。

我重新创建对象实例的活动不是从Activity类派生的。这只是ACTIVITY。所以我只有对象。有什么方法可以用类的实例而不是类来做这些事情吗?

3 个答案:

答案 0 :(得分:22)

您应该覆盖Activity类的方法:onBackPressed()

答案 1 :(得分:4)

在您要对“后退”按钮执行操作的活动中,只需覆盖onKeyDown(或onKeyUp)方法:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        //do whatever you need for the hardware 'back' button
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

请注意,如果您希望“后退”键仍然可以结束您的活动,那么您需要包含

setResult(result);    //if you want to pass a result to activity A
finish();

return true;

之前的那个条件中的某个地方

答案 2 :(得分:1)

您可以覆盖onDestroy并将代码放在那里。

另一种可能性(可能更符合您的需求)是覆盖onBackPressed