【Android/Kotlin】Activityに戻るボタンを表示する

今回は下記のような戻るボタンメニューの表示を行う

backbutton

通常ではこの戻るボタンは非表示となっており、表示するにはプログラム側で表示制御を行う

戻るボタンの実装

戻るボタンの表示

まず対象のActivityのonCreate()メソッド内に表示させるコードを記述する
supportActionBarのsetDisplayHomeAsUpEnabled()を最後に追加

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)        
        ...
        supportActionBar?.setDisplayHomeAsUpEnabled(true)
    }

これでひとまずは戻るボタンが表示される。

戻るボタンの処理

戻るボタンが押された際は現在の画面を破棄して前画面に遷移させたいはずなので、

onOptionsItemSelected()メソッドをオーバーライドし

戻るボタンが押されたときに現在の画面を破棄するよう処理を追加する

override fun onOptionsItemSelected(item: MenuItem?): Boolean {
        when(item?.itemId){
            android.R.id.home->{
                finish()
            }
        }
        return super.onOptionsItemSelected(item)
    }

戻るボタンのメニューidはandroid.R.id.homeとして最初から定義されている

またfinish()メソッドを呼ぶことで次画面を破棄できる

ここまで実装できたら実行してみてほしい。

正しく前画面に遷移されれば成功。

あわせて読みたい