diadia

興味があることをやってみる。自分のメモを残しておきます。

Androidアプリの画面遷移を実装する

画面遷移のコードを記述する場所

MainActivity等のHogeActivity:AppCompatActivity(){}にintentに関するロジックが入ったリスナを追記する。

リスナクラス内の画面遷移ロジックの書き方

画面遷移のロジックのイメージは以下の3点になる。

  1. Intentクラスのインスタンスを生成する
  2. 遷移先画面に渡すデータをintentインスタンス格納する
  3. 画面を起動する(startActivity(intent))

Intentクラスのインスタンスを生成する

Intentクラスに引き渡す引数は2つある。
packageContext:Contextとcls:Classである。packageContextの例としては、applicationContextがある。
clsに関しては書き方に気をつける必要がある。「クラス名::class.java」と記述する。例:"MainActivity::class.java"

val intent = Intent(applicationContext, NextScreenActivity::class.java)  
startActivity(intent)

遷移先画面に渡すデータをintentインスタンス格納する

インスタンスにデータを格納する事のほか、格納したデータの取得もすることもできる。画面遷移前には、putExtra()メソッドを使いデータをインスタンスに格納する。画面遷移後にはgetStringExtra()メソッドやgetIntExtra()メソッドを使ってデータを取得する。

遷移先の画面から戻るボタンを実装する

遷移したActivityファイル(.ktファイル)にコードを記述すれば遷移前の画面に戻すことができる。

fun onBackButtonClick(view: View){
    finish()
    }