JavaとKotlinそれぞれでメイン画面から、条件分岐で3つの画面に遷移でき、画面遷移の際に遷移先の画面に値を送ることのできるアプリの作成。
用意するクラス
- MainActivity(メイン画面用アクティビティクラス)
- Activity2(画面2用アクティビティクラス)
- Activity3(画面2用アクティビティクラス)
- Activity4(画面3用アクティビティクラス)
用意するXMLファイル
- activity_main.xml(メイン画面用レイアウトファイル)
- activity2.xml(画面2用レイアウトファイル)
- activity3.xml(画面3用レイアウトファイル)
- activity4.xml(画面4用レイアウトファイル)
ラジオボタンのレイアウトの作成例
<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を選択した時の処理
}
テキストボックスのレイアウトの実装例
<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");
今まで作成したアプリをKotlinで書き換えてください。Kotlin用のプロジェクトに作成してください。
Intentでのクラスの指定の仕方。
//Javaの場合
Intent intent = new Intent(applicationContext(),Activity2.class)
//Kotlinの場合
Intent(applicationContext, Activity2::class.java)