0

true仕事をするためにonKeyDown()、なぜに戻る必要があるonBackPressed()のですか? ドキュメントと矛盾しています。

ドキュメンテーション

4

1 に答える 1

0

それを確認するためにちょっとした実験をしました。

あなたの権利は、ドキュメントを確認していないようです。

ここで使用されるコード:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    super.onKeyDown(keyCode, event);
    return true;
}

@Override
public void onBackPressed() {
    Log.w("TEST", "I'm CALLED !");
    super.onBackPressed();
}

onKeyDown が false を返す場合、onBackPressed は呼び出されません。

super.onKeyDown() を呼び出さないと onBackPressed が呼び出されないことに注意する必要があるため、次のように確認する必要があると思います: onBackPressed は onKeyDownCall の一部として呼び出されるため、onKeyDown が呼び出されない場合はトリガーされません。イベントを管理します (false を返します)。

于 2013-03-03T14:40:31.137 に答える