今回はその逆をやってみましょう。
まず、親クラス内に子Activityの呼び出し口を設置します。
ParentActivity.java
int REQUEST_CODE = 123; Intent intent = new Intent(ParentActivity.this, ChildActivity.class startActivityForResult(intent, REQUEST_CODE);
このコードを実行するとChildActivityを実行します。
続いて、子Activityの受け取り口と思いましたが、受けるデータがないので特に必要ありません。
子Activityでデータを渡す部分を記述します。
前回と同様で"Hello World"を渡したいと思います。
ChildActivity.java
Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putString("key", "Hello World"); intent.putExtras(bundle); setResult(RESULT_OK, intent); finish();
これで、ChildActivityからデータを格納いたしました。
では、このkeyに関連するvalueを親クラスで取得します。
ParentActivity.java
protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); Bundle bundle; if (intent != null){ bundle = intent.getExtras(); if (resultCode == RESULT_OK){ String hello_world = bundle.getString("key"); } else if (resultCode == RESULT_CANCELED ){ // do something here… } } }
このメソッドをParentActivity.javaに作成し、ここで受け取ります。
これで、親クラスで変数を扱えます。
こんな簡単なメソッドしか使っていないOneClickHomeをお願いします。
0 件のコメント:
コメントを投稿