Intent实现页面跳转

时间:2022-07-29 19:32:29

Intent实现页面跳转:
1. startActivity(intent)
2. startActivityForResult(intent,requestCode);
onActivityResult(int requestCode,int resultCode,Intent data)
setResult(resultCode,data);
区别在于第二种方式有返回值;第二种方式启动方式需要关联onActivityResult和setResult方法;

public class FActivity extends Activity {

private Button bt1;
private Button bt2;
private Context mcontext;
private TextView TV;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.factivity);
/*
* 通过点击BT1实现页面之间的跳转
* 1.startActivity的方式实现
* 2.初始化Intent
* */
mcontext = this;
bt1 =(Button) findViewById(R.id.button1_first);
bt2 = (Button) findViewById(R.id.button2_second);
TV =(TextView) findViewById(R.id.textView1);

//注册点击事件
bt1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
/*
* 第一个变量:上下文对象this
* 第二个变量:目标文件
* */
Intent intent =new Intent(mcontext,SActivity.class);
startActivity(intent);
}
});

/*
* 通过startAvtivityForResult
*
* */
bt2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(mcontext,SActivity.class);
/*
* 第一个参数是intent对象
* 第二个参数是请求的一个标识
* */
startActivityForResult(intent, 1);
}
});
}

/*
* 通过startActivityForResult跳转,接收返回数据的方法
* requestCode:请求的标识;
* resultCode:第二个页面返回的标识;
* data:第二个页面回传的数据
* */
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(requestCode ==1 && resultCode == 2){
String content = data.getStringExtra("data");
TV.setText(content);
}

}

}

public class SActivity extends Activity {
private Button bt;
private String content="nihao";
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.sactivity);
/*
* 第二个页面什么时候给第一个页面回传数据
* 回传第一个页面的实际上是一个intent对象
* */
bt = (Button) findViewById(R.id.button1_second);
bt.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent data = new Intent();
data.putExtra("data", content);
setResult(2,data);
//结束当前页面
finish();
}
});
}

}