MainActivity代码:
package com.example.startactivityforresult;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.btn);
final Activity activity = this;
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(activity,ActivityB.class);
int[] nums = {1,2};
intent.putExtra(Contact.MAINACTIVITY_KEY, nums);
startActivityForResult(intent, Contact.REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(data!=null){
Log.d("From ActivityB", "和:"+data.getIntExtra(Contact.ACTIVITY_KEY, 0)+"");
}
}
}
package com.example.startactivityforresult;
public class Contact {
public static final String MAINACTIVITY_KEY = "key";
public static final String ACTIVITY_KEY = "key";
public static final int REQUEST_CODE = 1;
public static final int RESULT_CODE = 2;
}
ActivityB代码:
package com.example.startactivityforresult;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class ActivityB extends Activity {
private int sum;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent intent = this.getIntent();
int[] nums = intent.getIntArrayExtra(Contact.MAINACTIVITY_KEY);
Log.d("From MainActivity", (nums[0]+nums[1])+"");
sum = nums[0]+nums[1];
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
result();
}
});
}
private void result(){
Intent it = new Intent();
it.putExtra(Contact.ACTIVITY_KEY, sum);
setResult(Contact.RESULT_CODE, it);
finish();
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
}