1.
2.第一个和第二个不同的是,第二个有返回值
3.AndroidManifest.xml配置两个页面 注册:
<
application
android:allowBackup
=
"true"
android:icon
=
"@drawable/ic_launcher"
android:label
=
"@string/app_name"
android:theme
=
"@style/AppTheme"
>
<
activity
android:name
=
"com.chanjet.FActivity"
android:label
=
"@string/app_name"
>
<
intent-filter
>
<
action
android:name
=
"android.intent.action.MAIN"
/>
<
category
android:name
=
"android.intent.category.LAUNCHER"
/>
</
intent-filter
>
</
activity
>
<
activity
android:name
=
"com.chanjet.SActivity"
android:label
=
"@string/app_name"
>
</
activity
>
</
application
>
4.第二个页面跳转代码
public
class
FActivity
extends
Activity {
private
Button
btn1
=
null
;
private
Context
context
=
null
;
@Override
protected
void
onCreate(Bundle
savedInstanceState
) {
//
TODO
Auto-generated method stub
super
.onCreate(
savedInstanceState
);
setContentView(R.layout.
first
);
btn1
= (Button) findViewById(R.id.
button1
);
context
=
this
;
/**
* 通过点击btn1实现页面跳转
* 1.通过startActivity的方式来实现
* 1》初始化intent
*/
btn1
.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View
v
) {
//
TODO
Auto-generated method stub
// Intent intent = new Intent(FActivity.this,SActivity.class);
/*
* 第一个参数上下文对象this
* 第二个参数,目标文件
*/
Intent
intent
=
new
Intent(
context
,SActivity.
class
);
startActivity(
intent
);
}
});
}
}
5.第二种方法,有返回值的页面传值
/*
* 2.通过startActivityForresult
*/
btn2
.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View
v
) {
//
TODO
Auto-generated method stub
Intent
intent
=
new
Intent(
context
,SActivity.
class
);
/*
* 第一个参数是intent对象
* 第二个参数是请求的一个标识
*/
startActivityForResult(
intent
, 1);
}
});
}
/*
* 通过startForresult跳转,接收返回数据的方法
* requestCode请求的标志
* resultCode第二个页面返回的标志
* data第二个页面回传的数据
*/
@Override
protected
void
onActivityResult(
int
requestCode
,
int
resultCode
, Intent
data
) {
//
TODO
Auto-generated method stub
super
.onActivityResult(
requestCode
,
resultCode
,
data
);
if
(
requestCode
== 1 &&
resultCode
== 2){
String
content
=
data
.getStringExtra(
"data"
);
tv
.setText(
content
);
}
}
第二个页面
btn
.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View
v
) {
//
TODO
Auto-generated method stub
count
=
count
+
"*1"
;
Intent
data
=
new
Intent();
data
.putExtra(
"data"
,
count
);
setResult(2,
data
);
finish();
}
});
实现:
第一个页面通过
Intent
intent
=
new
Intent(
context
,SActivity.
class
);
startActivityForResult(
intent
, 1);
第二个页面
Intent
data
=
new
Intent();
data
.putExtra(
"data"
,
count
);
setResult(2,
data
);
finish();
返回到第一个页面接收,覆盖
@Override
protected
void
onActivityResult(
int
requestCode
,
int
resultCode
, Intent
data
) {
//
TODO
Auto-generated method stub
super
.onActivityResult(
requestCode
,
resultCode
,
data
);
if
(
requestCode
== 1 &&
resultCode
== 2){
String
content
=
data
.getStringExtra(
"data"
);
tv
.setText(
content
);
}
}
通过请求码和返回码确定是那个发送的和返回的