开发者

onKeyDown() functionality issue

开发者 https://www.devze.com 2022-12-17 13:53 出处:网络
I was trying to override the back button functionality where I wanted to call the default functionality in case a boolean is set false

I was trying to override the back button functionality where I wanted to call the default functionality in case a boolean is set false

public boolean onKeyDown(int keyCode, KeyEvent event) {
        boolean temp = false;
        if (event.KEYCODE_BACK == keyCode) {
            System.out.println("Back press开发者_StackOverflow中文版ed");
            if (isTrue) {
                //Do something
                return true;
            }
            else return false;
        }
        return false;
    }

Now this doesn't exactly work how the documentation states. the //Do Something part is executed well, but when isTrue is false i want the default back functionality which is not happening. Im using SDK 1.5

Now,

  1. How do I fix this?

  2. Is this issue fixed in later SDK updates? If not can someone raise a bug for the same?


  1. If you want the default behavior, chain to the superclass:

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

  2. The bug is in your code. Also, for Android 1.6 and newer, you are better served overriding the dedicated onBackPressed() method (where, again, if you want the default behavior, chain to the superclass).

0

精彩评论

暂无评论...
验证码 换一张
取 消