1

我刚刚在我的代码中覆盖了我的后退按钮,就像这样

        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {

                return true;
            }
            return super.onKeyDown(keyCode, event);
        }

        @Override
        public boolean onKeyUp(int keyCode, KeyEvent event)
          {

                 {
                       startActivity(new  Intent(context, MainDialog.class));
                       finish();

                return true;
            }
            return super.onKeyUp(keyCode, event);
        }

现在我面临一个奇怪的问题,我在当前活动上有一个编辑文本。在编辑时,我试图通过按后退按钮关闭虚拟键盘。我的应用程序完成...但我只想关闭键盘而不是 Avtivity ..有什么建议可以解决我的问题..?

在此先感谢,坦梅


I have tried both 

       @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) 
        {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {

               startActivity(new  Intent(context, MainDialog.class));
               finish();
               return true;
        }
        return super.onKeyUp(keyCode, event);
    }

        @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) 
        {
        if (keyCode == KeyEvent.KEYCODE_BACK ) {

               startActivity(new  Intent(context, MainDialog.class));
               finish();
               return true;
        }
        return super.onKeyUp(keyCode, event);
    }

但没有结果。任何建议!

4

2 回答 2

4

您似乎错过了捕获返回键代码的 if 语句。尝试这个:

    @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            startActivity(new  Intent(context, MainDialog.class));
            finish();
            return true;
        }
        return super.onKeyUp(keyCode, event);
    }
于 2010-11-02T04:52:21.997 回答
0

可能还有另一种解决方案,我们可以这样做吗...

我在 xml 中有一个 ID 为 buttonBack 的 ImageButton 我在 btnBack 上得到了它并添加了一个 OnClickListener

在 public void onClick 函数中,我调用了具有另一个布局的类的意图,可能是前一个类...希望这对所有人都有效...谢谢。

ImageButton btnBack = (ImageButton)this.findViewById(R.id.buttonBack);
    btnBack.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
        Intent myIntent = new Intent(view.getContext(), Your.class);
                    startActivityForResult(myIntent, 0);

        }
    });
于 2011-12-17T07:57:36.067 回答