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.youkuaiyun.com/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"
- />