向下一个活动传递数据
实验名称:向下一个活动传递数据
实验现象:点击主活动button,在进入第二个活动的时候会打印一行信息Hello SecondActivity
使用技术:Intent中的putExtra()方法的重载。
步骤:
1、创建一个项目,建立一个空的活动,加载布局,添加一个button。
2、再次创建一个空活动
3、修改button的单击事件
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=(Button) findViewById(R.id.button1); //获得按键实例
button.setOnClickListener(new View.OnClickListener() { //设置按键的监听事件
@Override
public void onClick(View view) { //按键点击事件
String data="Hello SecondActivity"; //字符串
Intent intent=new Intent(MainActivity.this,Main2Activity.class); //在第一个活动内启动第2个活动
intent.putExtra("extra_data",data); //使用putExtra方法传递了一个字符串
startActivity(intent); //启动这个Intent
}
});
}
putExtra():接收2个参数,第一个参数是键,用于从Intent中取值,第二个参数才是要传递的数据
4、在第二个活动将数据取出,并打印出来
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent intent=getIntent(); //获取到Intent
String data=intent.getStringExtra("extra_data"); //由键值确定数据的传递
Log.d("Main2Activity",data); //打印数据
}
getIntent()方法:获取到用于启动本活动的Intent
getStringExtra()方法:传入相应的键值即可得到相应的数据。因为这次传递的是字符串,所以用这种方法。如果传递Int型或者布尔型则使用getIntExtra和getBoolleanExtra,以此类推
5、运行程序,可以看到打印信息
附件列表