画面遷移する

Androidで画面遷移を行うにはIntentを使う。MainActivityとNextActivityの2つのActivityがあるとすると、ボタンのクリックでMainActivityからNextActivityに遷移するには、以下のようなコードを書けば良い。画面遷移の部分はIntentの生成と、それを使ってstartActivityメソッドを呼ぶところだけである。

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		button1 = (Button)findViewById(R.id.button1);
		
		button1.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				// 下の2行だけで画面遷移
				Intent intent = new Intent(MainActivity.this, NextActivity.class);
				startActivity(intent);
			}
		});
	}

また、画面遷移するときにIntentを介して情報を受け渡すことができる。情報を渡すActivityはIntentにputExtraメソッドで情報をセットすることができる。以下ではparam1という名前でStringの値をセットしている。

				Intent intent = new Intent(MainActivity.this, NextActivity.class);
				intent.putExtra("param1", "from MainActivity");
				startActivity(intent);

情報を受け取るActivityはonCreateメソッド等でgetIntentメソッドを使ってIntentを取得し、受け取る情報のデータ型に合ったメソッドで情報を取得する。例えば、String型ならばgetStringExtraメソッドに情報をセットしたときの名前を使って情報を受け取る。

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity1);
		
		Intent intent = getIntent();
		Log.d(TAG, intent.getStringExtra("param1"));
	}
(2013/12/07)

新着情報
【iOS Objective-C, Swift Tips】画像の向きを指定して保存する(Swift)
【iOS Objective-C, Swift Tips】UIImagePickerControllerの表示を日本語にする(Swift)
【iOS Objective-C, Swift Tips】ウィンドウの階層構造を3D表示する(Swift)

Copyright(C) 2004-2013 モバイル開発系(K) All rights reserved.
[Home]