Activity 的启动
①. 在Android应用里各组件之间通信使用Intent。一个Activity通过Intent来表达自己的“意图”。
②. 常用有两种方式:
- Intent intent = new Intent(MainActivity.this , NextActivity.class);
- Intent intent = new Intent();
- intent.setClass(MainActivity.this , NextActivity.class);
③.常用启动方式有两种:
- startActivity();
- startActivityForResult();//需要回传数据时使用
Activity之间跳转和交换数据:
①数据传到下一个页面
由MainActivity跳转到FirstActivity代码如下
Intent intent =new Intent(MainActivity.this,FirstActivity.class);
//传字符串
intent.putExtra("value1","我是由MainActivity传过来的数据");
intent.putExtra("value2",100);//传整数
startActivity(intent);
//HashMap<String,String> map=new HashMap<String,String>();
//map.put("aaa","我是aaa");
//map.put("dddd","我是ddd");
//Intent intent2 =new Intent(MainActivity.this,FirstActivity.class);
//intent2.putExtra("map",map);//如果是javabean则bean需要序列化
//startActivity(intent2);
在FirstActivity中接收数据
String str= intent.getStringExtra("value1");
int intValue= intent.getIntExtra("value2",0);
②数据回传(SecondActivity回传数据到MainActivity)
MainActivity中跳转
Intent intent2 = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent2, 1111);
重写onActivityResut接收数据
if (requestCode == 1111) {//与跳转中requestCode 对应
if(resultCode==RESULT_OK)
{
String str= data.getStringExtra("str");
mTextView3.setText(str);
}
}
SecondActivity中设置数据
Intent intent=new Intent();
intent.putExtra("str","我是SecondActivity中回传的数据");
setResult(RESULT_OK,intent);
finish();
资源下载