はじめに…
この記事は5個前の記事で書いた、
7日間毎日記事投稿の6日目
になってます
使うコードは下に貼りますが、このアプリの詳しい機能はその5個前の記事をご覧ください!
↓ここからが今回の記事の本題です↓
それぞれの言語で前の画面に戻るには…
※これはツールバーの戻るボタンから一つ前の画面に戻るための方法です
ツールバーの実装方法
- javaの場合
Toolbar 変数名 = findViewById(R.id.ツールバーのid);
setSupportActionBar(変数);
例)
WhoActiity.java
Toolbar whoTb = findViewById(R.id.who_tb); // 30行目
setSupportActionBar(whoTb);
- kotlinの場合
setSupportActionBar(ツールバーのid)
例)
WhoActivity.kt
setSupportActionBar(who_tb) // 21行目
javaはToolBar型の変数を作る必要があるが、kotlinは作る必要がない
ツールバーに戻るボタンをつけて戻る方法
- javaの場合
(onCreate関数内)
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
(onCreate関数外)
@Override
public boolean onSupportNavigateUp() {
finish();
return super.onSupportNavigateUp();
}
例)
(onCreate関数内)
WhoActivity.java
getSupportActionBar().setDisplayShowHomeEnabled(true); // 32行目
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
(onCreate関数外)
WhoActivity.java
@Override // 69行目
public boolean onSupportNavigateUp() {
finish();
return super.onSupportNavigateUp();
}
- kotlinの場合
supportActionBar?.let { // 22行目
it.setDisplayHomeAsUpEnabled(true)
it.setHomeButtonEnabled(true)
} ?: IllegalAccessException("Toolbar cannot be null")
AndroidManifest.xml
<activity
android:name=".WhoActivity"
android:parentActivityName=".MainActivity" /> // ←ここを追加
例)
WhoActivity.kt
supportActionBar?.let { // 22行目
it.setDisplayHomeAsUpEnabled(true)
it.setHomeButtonEnabled(true)
} ?: IllegalAccessException("Toolbar cannot be null")
AndroidManifest.xml
<activity // 20行目
android:name=".WhoActivity"
android:parentActivityName=".MainActivity" />
javaはコードと新しく関数を定義する必要があり、kotlinはコードとAndroidManifest.xmlを編集する必要がある
最後に…
今回はjavaとkotlinでツールバーを使って前の画面に戻りました。
どちらの言語でも画面遷移よりも複雑なコードが必要だと感じました。
明日も記事を投稿するので、引き続き温かく見守ってください。