Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android onKeyDown()或onBackPressed()_Android_Back Button - Fatal编程技术网

Android onKeyDown()或onBackPressed()

Android onKeyDown()或onBackPressed(),android,back-button,Android,Back Button,我想在我的应用程序中实现后退按钮功能。在应用程序中,每当我单击中间的后退按钮时,我的控件将直接登录页面,所以有人能告诉我在哪里覆盖onKeyDown()或onBackPressed()方法吗 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { Log.e("back key pressed","Back key pressed");

我想在我的应用程序中实现后退按钮功能。在应用程序中,每当我单击中间的后退按钮时,我的控件将直接登录页面,所以有人能告诉我在哪里覆盖
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外部写这篇文章,但它不起作用……

取决于您是否想支持Android 2.0之前的手机。Android 2.0(API 5)中添加了
onBackPressed()
方法

您可能想阅读Android开发者博客上的这篇文章以了解详细信息:


是的,你可以覆盖那个后退按钮

public void onBackPressed() {

     Intent start = new Intent(currentclassname.this,which activity u want.class);
        startActivity(start);
        finishActivity(0);
        }

通过这一点,你可以进行任何活动。如果您关心的是从历史堆栈中删除登录活动,那么这是一种非常简单的方法


执行finish();在登录活动中,当您从该活动开始任何其他活动时,请参见下面的代码。在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;  
   }  

一般来说,像
onKeyDown()
onBackPressed()
这样的方法应该被重写(您可以利用IDE,即Eclipse,这样做很漂亮),因此它们应该不在
onCreate()
中。你能准确地解释你的问题吗?怎么了?看看这个答案:在函数上方添加@Override???谢谢你,但是在哪里写这个方法呢???因为我试着在onCreate内部写这个方法,在onCreate外部写这个方法,但是仍然控制不在方法内部,你能通过简单的回答帮我吗???3-05 14:13:56.327:W/KeyCharacterMap(374):使用默认的keymap:/system/usr/keychars/qwerty.kcm.binHELLO friends我的控件没有进入OnBack方法?任何正文都可以帮助重新对其进行分级吗???Intent edit=new Intent(getParent(),MyGroup.class);TabGroupActivity parentActivity=(TabGroupActivity)getParent();parentActivity.startChildActivity(“添加联系人”,编辑);