Skip to content

Latest commit

 

History

History
117 lines (97 loc) · 4.12 KB

問題.md

File metadata and controls

117 lines (97 loc) · 4.12 KB

Kotlin Android勉強会 ハンズオン

目標 

JavaとKotlinそれぞれでメイン画面から、条件分岐で3つの画面に遷移でき、画面遷移の際に遷移先の画面に値を送ることのできるアプリの作成。

用意するクラス

  • MainActivity(メイン画面用アクティビティクラス)
  • Activity2(画面2用アクティビティクラス)
  • Activity3(画面2用アクティビティクラス)
  • Activity4(画面3用アクティビティクラス)

用意するXMLファイル

  • activity_main.xml(メイン画面用レイアウトファイル)
  • activity2.xml(画面2用レイアウトファイル)
  • activity3.xml(画面3用レイアウトファイル)
  • activity4.xml(画面4用レイアウトファイル)

Step1 メイン画面にラジオボタンを3つ配置し、選択したボタンごとに画面遷移するアプリをJavaで作成

ラジオボタンのレイアウトの作成例

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/radioGroup"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30pt">
    <RadioButton
        android:id="@+id/radiobutton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="画面2"/>
    <RadioButton
        android:id="@+id/radiobutton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="画面3"/>
    <RadioButton
        android:id="@+id/radiobutton3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="画面4"/>
</RadioGroup>

ラジオボタンのイベントリスナーの実装例

         //ラジオボタングループの取得
        RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup);
                        ・
                        ・
                        ・
        //Startボタンのイベントリスナー内での実装
                //選択されたラジヲボタンのIDを取得
                int checkeId = radioGroup.getCheckedRadioButtonId();
                //選択されたラジオボタンの取得
                RadioButton chekedRadioButton = (RadioButton)findViewById(checkeId);
                //取得したラジオボタンのテキスト要素を取得
                param = chekedRadioButton.getText().toString();

                switch (param){
                    case //画面2を選択した時の処理
                    case //画面3を選択した時の処理
                    case //画面4を選択した時の処理
                }

Step2 Step1の画面4を選択した時に、メイン画面のテキストボックスに入力した値を画面3に表示するアプリをJavaで作成

テキストボックスのレイアウトの実装例

  <EditText
    android:id="@+id/editText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:text="文字を入力してください"/>

テキストボックスの値の取得の実装例

  //テキストボックスの取得
  EditText inputForm = (EditText)findViewById(R.id.editText);
  //テキストボックス内の文字の取得
  String text = inputForm.getText().toString();

画面遷移時の値の受け渡し例

  //遷移元
  intent.putExtra("キー","値");

  //遷移先
  Intent intent = getIntent();
  String text = intent.getStringExtra("text");

Step3 Step2までに作成したアプリをKotlinで書き換える

今まで作成したアプリをKotlinで書き換えてください。Kotlin用のプロジェクトに作成してください。

Intentでのクラスの指定の仕方。

   //Javaの場合
   Intent intent = new Intent(applicationContext(),Activity2.class)
   
   //Kotlinの場合
   Intent(applicationContext, Activity2::class.java)