【问题标题】:onKeyDown() or onBackPressed()onKeyDown() 或 onBackPressed()
【发布时间】:2012-03-22 21:43:34
【问题描述】:

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

【问题讨论】:

  • 一般来说,onKeyDown()onBackPressed() 之类的方法应该被覆盖(你可以利用 IDE,即 Eclipse,很好地做到这一点),所以它们应该在 @987654327 之外@。你能准确解释你的问题吗?怎么了?
  • 在函数上方添加@Override ... ???

标签: android back-button


【解决方案1】:

取决于您是否要支持 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

【讨论】:

  • thanku man 但是在哪里写这个方法???因为我试图在 onCreate 内部和外部 onCreate 编写这个方法,但仍然控制不进入方法内部你能帮我吗简单的答案???
【解决方案2】:

是的,您可以覆盖该返回按钮

public void onBackPressed() {

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

通过这个,您可以继续进行任何活动。这是非常简单的方法

【讨论】:

    【解决方案3】:

    如果您担心从历史堆栈中删除登录活动。

    执行finish();当您从该登录活动开始任何其他活动时,在您的登录活动中

    【讨论】:

    • 3-05 14:13:56.327:W/KeyCharacterMap(374):使用默认键盘映射:/system/usr/keychars/qwerty.kcm.bin
    • HELLO 朋友们,我的控件没有进入 OnBack 方法?任何人都可以帮忙重新评分吗????
    • 意图编辑 = new Intent(getParent(), MyGroup.class); TabGroupActivity parentActivity = (TabGroupActivity)getParent(); parentActivity.startChildActivity("添加联系人", edit);
    【解决方案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;  
       }  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-25
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      相关资源
      最近更新 更多