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);
}
}
通過請求碼和返回碼確定是那個發送的和返回的