MainActivity如下:
java代码
复制代码
SecondActivity如下:
java代码
复制代码
ThirdActivity如下:
java代码
复制代码
main.xml如下:
html代码
复制代码
secondactivity.xml如下:
html代码
复制代码
thirdactivity如下:
html代码
复制代码
java代码
- package cn.teststartactivityforresult;
-
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- /**
- * Demo描述:
- * 测试startActivityForResult的连续调用
- *
- */
- public class MainActivity extends Activity {
- private Button mButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- init();
- }
- /**
- * 注意:
- * startActivityForResult(intent, requestCode)方法的参数
- * requestCode表示本次startActivityForResult操作的请求码
- * 因为在同一个Activity中根据业务的不同需要多次执行startActivityForResult
- * 所以为了区分每次startActivityForResult的操作为其设置一个
- * requestCode
- */
- private void init(){
- mButton=(Button) findViewById(R.id.first_button);
- mButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- Intent intent=new Intent(MainActivity.this, SecondActivity.class);
- startActivityForResult(intent, 123);
- }
- });
- }
- /**
- * 注意:
- * onActivityResult(int requestCode, int resultCode, Intent data)方法的参数
- * 同上面的描述背景既然有不同的startActivityForResult操作,那么这些不同的操作
- * 当然有不同的返回值.所以用resultCode来标识了不同的结果
- * 所以可以根据requestCode和resultCode来共同进行业务判断
- */
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent
- data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode==123&&resultCode==7) {
- System.out.println("第一个Activity关闭
- 得到返回数据为:"+data.getStringExtra("test"));
- finish();
- }
- }
- }
SecondActivity如下:
java代码
- package cn.teststartactivityforresult;
-
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- public class SecondActivity extends Activity {
- private Button mButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.secondactivity);
- init();
- }
- private void init(){
- mButton=(Button) findViewById(R.id.second_button);
- mButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- Intent intent=new Intent(SecondActivity.this, ThirdActivity.class);
- startActivityForResult(intent, 9527);
- }
- });
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent
- data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (resultCode==9527) {
- System.out.println("第二个Activity关闭
- 得到返回数据为:"+data.getStringExtra("test"));
- setResult(7, data);
- finish();
- }
- }
- }
ThirdActivity如下:
java代码
- package cn.teststartactivityforresult;
-
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- public class ThirdActivity extends Activity {
- private Button mButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.thirdactivity);
- init();
- }
- private void init(){
- mButton=(Button) findViewById(R.id.third_button);
- mButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- System.out.println("第三个Activity关闭");
- Intent data=http://blog.csdn.net/lfdfhl/article/details/new Intent();
- data.putExtra("test","hello");
- setResult(9527, data);
- finish();
- }
- });
- }
- }
main.xml如下:
html代码
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- >
-
- android:id="@+id/first_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="第一个Activity"
- android:layout_centerInParent="true"
- />
secondactivity.xml如下:
html代码
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- >
-
- android:id="@+id/second_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="第二个Activity"
- android:layout_centerInParent="true"
- />
thirdactivity如下:
html代码
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- >
-
- android:id="@+id/third_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="关闭该Activity"
- android:layout_centerInParent="true"
- />