画面遷移する

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)

新着情報
【オープンソースソフトウェア環境構築】Apple silicon Macで開発環境を構築
【Rust Tips】Actix webでJSONをPOSTする
【Rust Tips】コマンドライン引数を取得する

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