Activity間の通信
947 ワード
Activity間の通信はIntentクラスを経由します.例えば2つのクラスA.class,B.classがあります
Aから新しいactivity B(一方向)が起動し、Bが終了するとAは何も受信しません.
Aから新しいactivity Bが起動し(双方向)、Bが終了するとAのonActivity ForResultメソッドが所定のrequestCodeを呼び出されます.
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();