ComponentName类的使用

在进行activity跳转时,大家经常会使用intent的setClass,除了setClass还可以使用ComponentName 。

//组件名称,第一个参数是包名,也是主配置文件Manifest里设置好的包名  
第二个是类名,要带上包名  
  ComponentName com = new ComponentName("com.huawei", "com.huawei.Test1");  
  Intent  intent = new Intent();  
//设置部件  
  intent.setComponent(com);  
  startActivity(intent);  

经查看源码发现 Intent 的setClass() 方法的实现正是使用ComponentName 类:

public Intent setClass(Context packageContext,Class<?> cls){
   mComponent=new ComponentName(packageContext,cls);
return this;

}

Intent 的 构造方法也是如此:

public Intent(Context packageContext,Class<?> cls){
      mComponent=new ComponentName(packageContext,cls);
}


上面例子中的 setComponent()方法:
public Intent setComponent(ComponentName component){
      mComponent =component;
return this;
}

总结:最好要知道自己写的每一行代码的原理,自己才能飞的更高。



参考:http://blog.csdn.net/linuxcjh/article/details/8645211










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值