準備
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 アクティビティに返します。


