Kotlin: 画面遷移の実装

プログラミング
スポンサーリンク




こんにちは、おみです。

今回は、kotlinでボタンをクリックしたら画面遷移を行う処理の実装について解説したいと思います。

左の画面のアガリ役選択ボタンを押したら、右の画面へ飛ぶようにします。

 

 

スポンサーリンク

実装方法

今回は、Activityを使用した画面遷移を行います。

画面遷移はFragmentを使用して行ったほうがいいという記述を見かけたことがありますが、それは別途投稿したいと思います。

Activityを使用した画面遷移は、以下の方法で実装します。

  1. ボタンタップ時に起動するリスナークラスの生成
    • クラス処理内容1:Intentオブジェクトの生成
    • クラス処理内容2:画面の生成
  2. 作成したリスナークラスをボタンに登録する
    • 処理内容1:リスナークラスのインスタンス化
    • 処理内容2:ボタンとリスナーインスタンスの紐付け

リスナークラスの生成

ボタンをクリックした時の処理を記述したいので、

View.OnClickListenerクラスを使用します。

下記が、作成するリスナークラスのソースです。

クラス処理内容1:Intentオブジェクトの生成

 Activityを使用した画面遷移では、Intentクラスを使用します。

  val Intentオブジェクト名 = Intent(packageContext:Context, class)

 Intentオブジェクトは、生成する際に2つの引数が必要になります。

 第1引数 packageContext:Context

  とりあえず何も考えずにapplicationContextと入れておきましょう。

 第2引数 class (Javaクラス)

  起動するActivityクラスを渡します。

  今回の場合は、YakuChoiceActivityクラスを指定します。

  Intentクラスの第2引数は、言語仕様上Javaクラスを渡す必要があるので、

   クラス名:class.java

 と指定する必要があります。

クラス処理内容2:画面の生成

 画面の生成には、startActivity()メソッドを使用します。

  startActivity(Intentオブジェクト)

 先ほど作成したIntentオブジェクトを引数として渡すことで、

 アクティビティがスタートして画面が生成されます。

作成したリスナークラスをボタンに登録する

画面の起動を行うためのリスナークラスを生成しましたが、作成してもボタンと紐付けを行わなければ使用できません。

処理内容1:リスナークラスのインスタンス化

 リスナークラスのインスタンス化を行い、使用ができる状態にします。

  val インスタンス名 = リスナークラス名()

処理内容2:ボタンとリスナーインスタンスの紐づけ

 紐付けを行いたいボタンのsetOnClickListenerメソッドを呼び出し、

 引数に先ほど生成したリスナーインスタンスを渡せば完了です。

  ボタンid.setOnClickListener(View.OnClickListener)

コメント

タイトルとURLをコピーしました