今回は、androidアプリでボタンを選択時にインテントを使って画面遷移&値も渡す方法を書きます(・∀・)ウン!
過去にandroid開発関連で書いた記事は以下です。
一つ目:【初公開】androidアプリ初公開で一番つまずいた広告の挿入
二つ目:ListViewのスクロール時の色が設定した色にならないのを解消する
三つ目:SoundPoolを使った効果音の設定
1.レイアウトのxmlファイルにボタンを用意
<Button
android:id="@+id/practice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="練習" />
2.Javaファイルにボタンの動作を定義する
Button btnPractice = (Button)findViewById(R.id.practice);
btnPractice.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// インテントのインスタンス生成
Intent intent = new Intent(Main.this, Next.class);
// レベルを渡す
intent.putExtra("LEVEL", 1);
// 次画面のアクティビティ起動
startActivity(intent);
}
});
Main.thisは、今ボタンがある画面に対するActivityクラスを継承したJavaファイルで、
Next.classは、遷移先のActivityクラスを継承したJavaファイルを指定してください。
太字になっているものは、「LEVEL」をキーとして数値である「1」を渡します。
3.遷移先のクラスで値を取得するコードを追加
onCreateメソッドの中で以下のように書きます。
// レベルを取得
Intent intent = getIntent();
int level = intent.getIntExtra("LEVEL", -1);
getIntExtraメソッドの第二引数は、「LEVEL」というキーが取得できなかった場合に返す値です。
公開していますandroidアプリ「いろはにほへと!」も見てくれるとうれしいです(っ´∀`c)
google playにリンクしてます。
過去にandroid開発関連で書いた記事は以下です。
一つ目:【初公開】androidアプリ初公開で一番つまずいた広告の挿入
二つ目:ListViewのスクロール時の色が設定した色にならないのを解消する
三つ目:SoundPoolを使った効果音の設定
1.レイアウトのxmlファイルにボタンを用意
<Button
android:id="@+id/practice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="練習" />
2.Javaファイルにボタンの動作を定義する
Button btnPractice = (Button)findViewById(R.id.practice);
btnPractice.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// インテントのインスタンス生成
Intent intent = new Intent(Main.this, Next.class);
// レベルを渡す
intent.putExtra("LEVEL", 1);
// 次画面のアクティビティ起動
startActivity(intent);
}
});
Main.thisは、今ボタンがある画面に対するActivityクラスを継承したJavaファイルで、
Next.classは、遷移先のActivityクラスを継承したJavaファイルを指定してください。
太字になっているものは、「LEVEL」をキーとして数値である「1」を渡します。
3.遷移先のクラスで値を取得するコードを追加
onCreateメソッドの中で以下のように書きます。
// レベルを取得
Intent intent = getIntent();
int level = intent.getIntExtra("LEVEL", -1);
getIntExtraメソッドの第二引数は、「LEVEL」というキーが取得できなかった場合に返す値です。
公開していますandroidアプリ「いろはにほへと!」も見てくれるとうれしいです(っ´∀`c)
google playにリンクしてます。