1,Activity页面的跳转(默认是同一个包内的Activity)
Intent intent = new Intent(); //声明一个Intent对象
intent.setClass(MainActivity.this,SecondActivity.class);//将页面与下一个页面进行绑定,第一个参数为当前页面,第二个页面为下个页面,可以直接在Intent构造函数里填上
MainActivity.this.startActivity(intent);//跳转页面
2,Activity页面跳转时涉及的传值问题
第一种方法,直接附加数据到Intent对象上
//发送数据方
Intent intent = new Intent(MainActivity.this, SecondActivity.class); //声明一个Intent对象,构造函数参数为第一个页面与第二个页面
intent.putExtra("name", "诸葛亮");//给Intent对象绑定数据,类比HashMap 的键-值对形式
intent.putExtra("age", 50);
MainActivity.this.startActivity(intent);//跳转页面
//第二个页面,即接受数据方
Intent intent = getIntent();//声明一个对象,并获得跳转过来的Intent对象
String name = intent.getStringExtra("name");//从intent对象中获得数据
int age = intent.getIntExtra("age", 0);
第二种方法,为Intent对象绑定一个Buddle对象
//发送数据方
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
Bundle bundle = new Bundle();//声明一个Bundle对象,用来存放数据
bundle.putString("name", "乔峰");//为bundle添加数据
bundle.putInt("age", 40);
bundle.putFloat("weight", 70.4f);
intent.putExtras(bundle);//将这个bundle绑定在intent上
startActivity(intent);//跳转页面
//接受数据方
Intent intent = getIntent();//接受跳转过来的intent对象
Bundle bundle = intent.getExtras();从intent对象中获得bundle对象
String name = bundle.getString("name");//从bundle对象中提取数据
int age = bundle.getInt("age");
float weight=bundle.getFloat("weight");
3,Activity跳转完成并获得返回值
//第一个页面
Intent intent = new Intent(MainActivity.this,Main2Activity.class);//声明一个对象
startActivityForResult(intent,1);
//调用能获得返回值的方法跳转页面,第一参数为Intent对象,第二个对象为请求标识(一个int变量,自定义)
//在第一个页面里重写获得页面跳转返回值的方法
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);
if (requestCode==1 && resultCode==2)
String str=data.getStringExtra("data");//requestCode即是在第一个页面跳转时设置的请求标识,resultCode即是在二个页面里设置的返回值标识
}
//第二页面
Intent intent = new Intent();
intent.putExtra("data",content);
setResult(2,intent);//设置返回值标识和Intent对象
finish();//关闭本页面