phpAndroid開発 虎の巻

明示的インテント

カテゴリ:アプリケーションコンポーネント

■Activityを開く

1.Activityの追加

クラス名の例:SubActivity
Superclass:android.app.Activity

2.レイアウトを追加する

[File]-[New]-[Other]で「Android」の「Android XML Layout File」
 例:sub.xml

3.onCreateをオーバーライドしレイアウトを設定

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.sub);
}

4.AndroidManifest.xml ファイルにActivityを登録

<activity android:name=".SubActivity" android:label="@string/app_name" > </activity>

5.Activtyを開く処理を記述

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

■Activityにデータを渡す

○Activtyを開く側

Intent intent = new Intent(this,SubActivity.class);
intent.putExtra("test", "あいうえお");
startActivity(intent);

○SubActivty

(onCreate内)
Intent intent = getIntent();
String str = intent.getExtras().getString("test");

TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(str);

■呼び出し元にデータを返す

○Activtyを開く側

startActivityForResult(intent, 1);	// 1 は識別コード

○SubActivty

Intent data = getIntent();
data.putExtra("test2", "かきくけこ");
setResult(RESULT_OK,data);
finish();	//	Activityを閉じる

○呼び出し元でのデータの取得

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	if( requestCode == 1 ){
		String str = data.getExtras().getString("test2");

		TextView tv = (TextView)findViewById(R.id.textView1);
		tv.setText(str);
		
	}else
		super.onActivityResult(requestCode, resultCode, data);
}

カテゴリ:アプリケーションコンポーネントの記事