準備
1. こちらを参照して、Test1Activity2 を追加します。
デザイン
1. main.xml にボタン (button1) を配置します。
サンプルコード (Java) - main アクティビティ
// import の追加 import android.content.Intent; import android.view.*; import android.widget.*; import android.view.View.OnClickListener; // コード public class Test1Activity extends Activity implements OnClickListener { /** Called when the activity is first created. */ private Button b1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); b1 = (Button)findViewById(R.id.button1); b1.setOnClickListener(this); } public void onClick(View view) { Intent intent = new Intent(); intent.setClass(this, Test1Activity2.class); intent.putExtra("val1", 5); startActivityForResult(intent, 0); } protected void onActivityResult(int requestCode, int resultCode, Intent data ) { int val1 = data.getIntExtra("Ret", 0); Toast.makeText(this, String.valueOf(val1), Toast.LENGTH_LONG).show(); } }
サンプルコード (Java) - Test1Activity2 アクティビティ
// import の追加 import android.os.Bundle; import android.widget.Button; import android.widget.Toast; import android.view.View; import android.view.View.OnClickListener; // コード public class Test1Activity2 extends Activity implements OnClickListener { private Button b1; int val1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.actvity2); Intent intent = getIntent(); val1 = intent.getIntExtra("val1", 0); Toast.makeText(this, String.valueOf(val1), Toast.LENGTH_LONG).show(); b1 = (Button)findViewById(R.id.button1); b1.setOnClickListener(this); } public void onClick(View view) { val1 = val1 * 10; Intent intent = new Intent(); intent.putExtra("Ret", val1); setResult(Activity.RESULT_OK, intent); finish(); } }
解説
INTENT を使用して、main アクティビティから Test1Activity2 に数字を渡します。Test1Activity2 ではその数字を 10 倍して、main アクティビティに返します。