@ledsun blog

無味の味は佳境に入らざればすなわち知れず

サブ画面を開く

Androiodでは画面一つ毎に一つのアクティビティというコンポーネントを作成します。コンポーネントとはアプリケーションの構成要素でアクティビティ、サービス、ブロードキャストレシーバ、コンテンツプロバイダがあります。

複数の画面を作成する場合には、画面ごとにアクティビティを作成します。具体的にはActivityクラスを継承したクラスを作成します。また、ある画面から別の画面を開くためにはインテントと呼ぶメッセージを送信します。

主画面から以下のようにしてインテントを作成しstartActivityメソッドを呼び出すことで、サブ画面を開くことが出来ます。

Intent intent = new Intent(MainActivity.this,
    SubActivity.class);
startActivity(intent);

さらに付加情報(Extras)を送信することが出来ます。

Intent intent = new Intent(MainActivity.this,
    SubActivity.class);
intent.putExtra("INTENT_PARAM", "HOHEHOGE");
startActivity(intent);

これをサブ画面側で取得するには

String ret =  getIntent().getStringExtra("INTENT_PARAM");

値を設定されていない場合getStringExtraはnullを返すので、実際に使う場合はヌルチェックを忘れないようにしましょう。

インテントのについての詳しい説明は Intentチュートリアル が参考になります。