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ではなくキーボードを閉じたいだけです..私の問題を解決するための提案はありますか..?

前もってありがとう、Tanmay


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

おそらくもう1つの解決策は、このようにすることができます...

私は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 に答える