布団の中にいたい

最近Androidのアプリ開発の勉強をし始めた人.資料作りの会社から転職して、最近はgoを書いてる

onKeyDownじゃなくて,onBackPressedでよかったみたい

以前に戻るボタンの動作をhandlingするには,onKeyDownを使うみたいな記事を書いたが,戻るボタンだけでいいなら,onBackPressedをoverrideするだけで良いみたい.

onBackPressedの方がメソッド名が明確でわかりやすいので,戻るボタンだけの用途ならonBackPressedを使ったほうがよさそう.

onKeyDownのときの実装

override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
    // 戻るボタンが押される かつ webviewで前に戻ることができるとき
    if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
        // 前のページに戻る
        webView.goBack()
        return true
    }

    return super.onKeyDown(keyCode, event)
}

onBackPressedのときの実装

override fun onBackPressed() {
    super.onBackPressed()

    if (webView.canGoBack) {
        webView.goBack()
    }
}