Activity間の通信

947 ワード

Activity間の通信はIntentクラスを経由します.例えば2つのクラスA.class,B.classがあります
Aから新しいactivity B(一方向)が起動し、Bが終了するとAは何も受信しません.

Intent i = new Intent(this,B.class);

startActivity(i);


Aから新しいactivity Bが起動し(双方向)、Bが終了するとAのonActivity ForResultメソッドが所定のrequestCodeを呼び出されます.
A.class追加コード:
Intent i = new Intent(this, B.class); 
i.putExtra(key, value);
startActivityForResult(i, ACTIVITY_CODE); 
 

 
 
B.class追加コード
 
 
 
// A  
Bundle extras = this.getIntent().getExtras();
 // key  
String value = extras.getString(key);

 
 
 
// 
A.class Bundle bundle = new Bundle(); 
bundle.putString(key,value); 
Intent intent = new Intent(); 
intent.putExtras(bundle); 
setResult(RESULT_OK, intent); finish();