はじめに…
この記事は4個前の記事で書いた、
7日間毎日記事投稿の5日目
になってます
使うコードは下に貼りますが、このアプリの詳しい機能はその4個前の記事をご覧ください!
↓ここからが今回の記事の本題です↓
それぞれの言語で画面遷移をするには…
画面遷移の基礎
- javaの場合
Intent intent = new intent(遷移前のアクティビティ.this, 遷移後のアクティビティ.class);
startActivity(intent);
例)
MainActivity.java
Intent intent = new Intent(MainActivity.this, WhoActivity.class); // 25行目
startActivity(intent);
- kotlinの場合
val intent = Intent(application, 遷移後のアクティビティ::class.java)
startActivity(intent)
例)
MainActivity.kt
val intent = Intent(application, WhoActivity::class.java) // 18行目
startActivity(intent)
intentの設定方法が大きく違う
画面遷移の時に文字列を渡す方法
- javaの場合
(遷移前のアクティビティ)
Intent intent = new Intent(今のアクティビティ.this, 次のアクティビティ.class);
intent.putExtra("値に紐づくキー", 渡したい値);
startActivity(intent);
例)
HowManyActivity.java
String groupNum = groupNumE.getText().toString(); // 43行目
Intent intent = new Intent(WhoActivity.this, HowManyActivity.class); // 46行目
intent.putExtra("GROUP_NUM", groupNum); // groupNumをCheckActivityに送る // 48行目
startActivity(intent);
(遷移後のアクティビティ)
Intent intent = getIntent();
final String 変数名 = intent.getStringExtra("値に紐づくキー");
例)
CheckActivity.java
Intent intent = getIntent(); // 25行目
final String groupNum = intent.getStringExtra("GROUP_NUM"); // 27行目
- kotlinの場合
(遷移前のアクティビティ)
val intent = Intent(application, 遷移後のアクティビティ::class.java)
intent.putExtra("値に紐づくキー", 渡したい値)
startActivity(intent)
例)
HowManyActivity.kt
val groupNum = group_num_et.text.toString() // 33行目
val intent = Intent(application, CheckActivity::class.java) // 36行目
intent.putExtra("GROUP_NUM", groupNum) // groupNumをCheckActivityに送る // 38行目
startActivity(intent)
(遷移後のアクティビティ)
val 変数名 = intent.getStringExtra("値に紐づくキー")
例)
CheckActivity.kt
val groupNum = intent.getStringExtra("GROUP_NUM")
遷移後のアクティビティに書く、値を受け取るためのコードが違う
ボタンを押して画面遷移をする方法
- javaの場合
Button 変数名 = findViewById(R.id.ボタンのid);
変数.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 画面遷移
}
});
例)
MainActivity.java
Button startButton = findViewById(R.id.start_btn); // 19行目
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, WhoActivity.class);
startActivity(intent);
}
});
- kotlinの場合
ボタンのid.setOnClickListener {
// 画面遷移
}
例)
MainActivity.kt
start_btn.setOnClickListener { // 16行目
val intent = Intent(application, WhoActivity::class.java)
startActivity(intent)
}
ボタンを扱うときに必要なコードが全体的にjavaよりもkotlinの方が少ない
最後に…
今回はjavaとkotlinでボタンを押して画面遷移をしました。
全体的にjavaよりもkotlinの方が簡潔に書ける印象でした。
明日も記事を投稿するので、引き続き温かく見守ってください。