Android開発してて思った

Android開発をしていて思ったことを書いていきます

戻るボタンのイベントを取得する方法

場合によって戻るボタンを押したときに画面を戻りたくない場合があると思います。

戻るボタンのイベントを取得するにはActivity.onKeyDown()で処理を行います。

引数のkeyCodeに何のボタンが押したのか入っているので
戻るボタン(KeyEvent.KEYCODE_BACK)で分岐して処理を加えます。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_BACK) {
        // 戻るボタンの処理
        if(mCurrentMode == MainActivity.MEMO_EDIT) {
            // 編集しているときにメモボタンを押したときは警告をする
            Toast.makeText(this, "編集中は戻れません", Toast.LENGTH_SHORT).show();
            return false;
        }
       return super.onKeyDown(keyCode, event);
    } else {
        return super.onKeyDown(keyCode, event);
    }
}