AndroidのToolbarに戻るボタンをつける
Listの要素をタップしたら別のActivityに遷移してWebViewを表示する,みたいな挙動な挙動を実装しようとしているが,前回端末の戻るボタンを押したときにページバックするという実装を行ったせいでどんどんリンク先に進んでいくと前のActivityに戻りづらくなってしまいました.今回はToolbarに戻るボタンを表示して,戻るボタンがタップされたときに,前のActivityに戻るという挙動を実装しました.
やることはかなり単純.そもそもToolbar自体に戻るボタン(Home)を表示するかどうかというメソッドがあるので,それをtrueにして,戻るボタンがタップされたときに,現在のActivityを終了するというだけ.以下はそのコード.だいたい簡略化してますが.
class SampleActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.sample_activity) val toolBar = findViewById(R.id.toolBar) as Toolbar val webView = findViewById(R.id.webView) as WebView setSupportActionBar(toolBar) // Toolbarに戻るボタンを表示する supportActionBar!!.setDisplayHomeAsUpEnabled(true) webView.loadUrl(url) } override fun onOptionsItemSelected(item: MenuItem?): Boolean { when (item!!.itemId) { // 戻るボタンが押されたら android.R.id.home -> { // 現在のActivityを終了する finish() } } return super.onOptionsItemSelected(item) } }