关于Android的inent实现Activity的切换问题

关于Activity切换 普遍都是如下代码
Intent intent=new Intent(Activity1.this,Activity2.class);
我表示不理解的是 这个构造函数接受的是两个什么类型的参数

.class指的是类? .this指的是Activity的实例?怎么会这么用?

====================================================

是的,.class是指类, .this是指本身,也就是说它是实例。是指 Activity1这个类的实例。
在我们的Android虚拟机中有一个Activity管理器的进程在不停工作,应该它帮你完成了大部分的工作.
当时刻监视着你的意图。你想要干什么。
new Intent(Activity1.this, Activity2.class);
意味着你要从一个 Activity实例跳到另一个Activity实例去。
其中第一个Activity是己知的,就是当前实例,所以它就只需要你给它.this实例就可以了。
其中第二个Activity只知道它的类,不需要知道它的实例,因为你也不可能知道它的实例。Android规定Activity的实例开发人员是无权力创造的,你只能指定和想要。所以我们看不到 Activity2 a2 = new Activity2()这样的代码发生。那么这个实例是怎么产生的呢? 没错,是由管理器根据你指定的类名称,和你指定的一些其它描述由它来帮你new出来的,然后它再自动帮你跳过去。所以你要告诉他你想要的实例类型是哪个类, Activity2.class 管理器根据类反射机器产生该类实例,再进行设置,再跳转。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值