画面追加と遷移の処理
画面を追加する
フォルダの java > com.~のとこで右クリック
新規 > Activity > EnptyViewsActivityをクリック
バージョンによって名前が違う場合があり
"EnptyViewsActivity"は
"EnptyActivity"だったりもする
新規作成の時と同じ画面がでるので設定して完了を押す
作成が正常にできてタブに追加された
※画像はMainActivity2で追加作成した状態
画面を遷移させる
activity_main.xmlでレイアウト
画面上にボタンをセットする
MainActivityへ追記する
MainActivity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
//ボタンを押した++++++++++
Button button = findViewById(R.id.btNext1);
button.setOnClickListener(new ButtonClickListener());
//+++++++++++++++++
}
//処理+++++++++++++++
private class ButtonClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
startActivity(intent);
}
}
//+++++++++++++++++
}
画面を遷移させる処理
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
startActivity(intent);
}
Intent intent =
new Intent(MainActivity.this, MainActivity2.class);
コンストラクタの引数
- 第1:packageContext
現在のコンテキスト(アクティビティ)
ここでは MainActivity.this を指定しています。 - 第2:cls
遷移先のクラス(アクティビティクラスの名前.class)
追加で作成したMainActivity2.classを指定します。
startActivity(intent);
画面遷移を実行するためのコード
引数のintentは上で設定したやつ
これで次の画面への遷移処理ができた。
画面を戻す
activity_main2.xmlでレイアウト
遷移先の画面にボタンを配置
MainActivity2へ追記する
MaineActivity2
public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main2);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
}
//ボタンを押した時の処理+++
public void backBottomClick(View view) {
finish();
}
//++++++++++++++
}