Activityを起動するには、以下のようにします。
1 2 | Intent intent = new Intent( this , OtherActivity. class ); startActivity(intent); |
引数を渡したい場合は、以下のようにします。
1 2 3 | Intent intent = new Intent( this , OtherActivity. class ); intent.putExtra( "flag" , true ); startActivity(intent); |
起動したActivity側で、引数を取り出します。
1 2 3 4 5 | Intent intent = getIntent(); Bundle args = intent.getExtras(); if (args != null ) { flag = args.getBoolean( "flag" , false ); } |
戻り値を受け取りたい場合は、起動を以下のようにします。
1 2 | Intent intent = new Intent( this , OtherActivity. class ); startActivityForResult(intent, REQUEST_CODE); |
REQUEST_CODEは、適当なint型の値です。そして、起動されたActivityで戻り値を設定します。
1 2 | setResult(RESULT_OK); finish(); |
呼び出し側の受け取りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | @Override protected void onActivityResult( int requestCode, int resultCode, Intent data) { super .onActivityResult(requestCode, resultCode, data); switch (requestCode) { case REQUEST_CODE: { if (resultCode == RESULT_OK) { // 処理 } break ; } default : break ; } } |
この記事を書きながら気づいたのですが、setResultには、Intentを引数に持つものもあるようです。色々な値を戻せそうです。
0 件のコメント:
コメントを投稿