从MainActivity跳转到AddActivity
一、简单跳转
startActivity(new Intent(MainActivity.this,AddActivity.class));//当前活动名;跳转活动名
二、传值
1.MainActivity传值,都以键值对形式传
value1为String类型,value2为int类型,value3为boolean类型
Intent intent = new Intent(MainActivity.this,AddActivity.class);
intent.putExtra("key1",value1);
intent.putExtra("key2",value2);
intent.putExtra("key3",value3);
startActivity(intent);
2.AddActivity接收
Intent intent = getIntent();
String value1= intent.getStringExtra("key1");
int value2= intent.getIntExtra("key2",0);
boolean value3= intent.getBooleanExtra("key3",true);
String不需要默认值,int、boolean需要有默认值
三、返回值
从AddActivity返回到MainActivity时需要传值
1.MainActivity
Intent intent = new Intent(MainActivity.this,AddActivity.class);
startActivityForResult(intent,100);
100是requestCode,用来分辨从哪里返回,根据需要改
2.AddActivity
Intent intent=getIntent();
intent.putExtra("key4",value4);
setResult(RESULT_OK,intent);
finish();
这里的返回值和上面传值用法相同
3.MainActivity
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,resultCode,data);
if(requestCode==100&&resultCode==RESULT_OK){
String value4= data.getStringExtra("key4");
}
}
重写onActivityResult函数,if语句判断requestCode
如果当前Activity有多个需要返回值的跳转事件,requestCode分别为100、101、……,在onActivityResult函数中就能通过requestCode判断,在几个if程序段内做不同操作