Search code examples
javaandroideclipsekeyevent

Handling the Back Button


I am working on the following code:

private class HandleBackButton implements OnKeyListener
    {

        @Override
        public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
            // TODO Auto-generated method stub

            if(arg1==KeyEvent.KEYCODE_BACK)
            {
                showResults(0);
            }
            return true;
        }

    }

I am somewhat new to android and my purpose is to operate the above code when the back button is clicked. User can click the back button any time. But, how can I set this listener to the Activity? I can't find something like this.setOnKeyListener().

I am using Android 2.3.3.


Solution

  • Just override the onKeyDown() method of Activity. You don't have to set a listener then.

        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if(keyCode == KeyEvent.KEYCODE_BACK)
            {
                showResults(0);
                return true;
            }
            return super.onKeyDown(keyCode, event);
        }
    

    Optionally you can also override onBackPressed() if your api level is >= 5.