我想在我的应用程序中实现后退按钮功能。在应用程序中,只要我点击中间的后退按钮,我的控件就会直接登录页面,那么有人可以告诉我在哪里覆盖onKeyDown()
或onBackPressed()
方法吗?
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Log.e("back key pressed","Back key pressed");
return true;
}
return super.onKeyDown(keyCode, event);
}
因为我在onCreate里面和onCreate外写这个,但是它没有用......
答案 0 :(得分:9)
取决于您是否要支持Android 2.0之前的手机。 onBackPressed()
方法已添加到Android 2.0(API 5)。
您可以在Android开发人员博客上阅读此帖子了解详情:
http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html
答案 1 :(得分:4)
见下面的代码。写在onCreate外面
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
//replaces the default 'Back' button action
if(keyCode==KeyEvent.KEYCODE_BACK)
{
Intent intent = new Intent(currentActivity.this, RequiredActivity.class);
finish();
startActivity(intent);
}
return true;
}
答案 2 :(得分:3)
是的,您可以覆盖该后退按钮
public void onBackPressed() {
Intent start = new Intent(currentclassname.this,which activity u want.class);
startActivity(start);
finishActivity(0);
}
通过此,您可以继续进行任何活动。这是非常简单易行的方式
答案 3 :(得分:1)
如果您关心的是从历史堆栈中删除登录活动。
执行finish();在您从
开始任何其他活动时的登录活动中