これが最初の Activity1 です。
public class Activity1 extends Activity{
private int mRequestCode = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = new Intent(this, Activity2.class);
startActivityForResult(intent, mRequestCode);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == mRequestCode && resultCode == RESULT_OK){
String editTextString = data.getStringExtra("editText");
}
}
}
ここから、startActivityForResult(mRequestCode, Activity2.class);を使用して Activity2.class を開始します。
これが 2 番目のアクティビティで、名前は Activity2 です
public class Activity2 extends Activity {
private EditText mEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//mEditText = (EditText)findViewById(R.id.edit_text);
Intent intent = new Intent();
intent.putExtra("editText", mEditText.getText().toString());
setResult(RESULT_OK, intent);
}
}
2番目のアクティビティが完了したら、 onBackPress() から、またはActivity2が破棄されるときに任意のボタンクリックから setResult() メソッドを呼び出し、Activity1のコールバックメソッドonActivityResult()がそこから呼び出され、インテントからデータを取得できます..
それがあなたに役立つことを願っています... :)