Intent传递数据

隐式意图和显式意图(重点)
隐式意图:
在开启目标activity时,不需要直接指定目标activity的名称,通过指定一组动作、数据、类型等属性,让系统从清单文件中匹配指定的acitivity来开启activity。

 模版代码:

	//创建一个开启第二个界面的意图
	Intent intent = new Intent();
	//设置目标activity的动作
	intent.setAction("com.itheima..multiview.SECONDSHOW");
	//设置目标activity的数据
	intent.setData(Uri.parse("itheima://110"));
	//设置目标activity的类型
	intent.addCategory("android.intent.category.DEFAULT");
	
应用场景:开启其他应用程序中的组件时使用隐式意图;

显式意图:在开启目标activity时需要直接指定目标activity名称;

模版代码:

	//创建一个显示意图开启第二个界面
	Intent intent = new Intent(this, SecondActivity.class);
	//开启一个新的界面
	startActivity(intent);

应用场景:开启应用程序内部的activity;

##05_意图传递数据(重点)

从第一个界面传递一些数据给第二个界面,在第二个界面上显示出来;

intent可以传递的数据类型:

1.八大基本类型及其数组
2.parcelable
3.Serializable 
4.Bundle
5.Intent
putExtra()
putExtras()

代码:

传递数据:

	//创建一个显示意图开启第二个界面
	Intent intent = new Intent(this, SecondActivity.class);
	
	//把需要提交的数据封装到意图对象中
//		intent.putExtra("name", "itheima");
//		intent.putExtra("age", 4);
//		

	Bundle b = new Bundle();
	
	b.putString("name", "itheima");
	b.putInt("age", 4);
	
	intent.putExtra("info", b);
	
	//开启一个新的界面
	startActivity(intent);

接收数据:

	
	Intent intent = getIntent();
//		
//		String name = intent.getStringExtra("name");
//		int age = intent.getIntExtra("age", 0);

	Bundle b = intent.getBundleExtra("info");
	
	String name = b.getString("name");
	
	int age = b.getInt("age");
	tv.setText("name:"+name+";age:"+age);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值