
关于Android的inent实现Activity的切换问题
关于Activity切换普遍都是如下代码Intentintent=newIntent(Activity1.this,Activity2.class);我表示不理解的是这个...
关于Activity切换 普遍都是如下代码
Intent intent=new Intent(Activity1.this,Activity2.class);
我表示不理解的是 这个构造函数接受的是两个什么类型的参数
.class指的是类? .this指的是Activity的实例?怎么会这么用? 展开
Intent intent=new Intent(Activity1.this,Activity2.class);
我表示不理解的是 这个构造函数接受的是两个什么类型的参数
.class指的是类? .this指的是Activity的实例?怎么会这么用? 展开
2个回答
展开全部
是的,.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 管理器根据类反射机器产生该类实例,再进行设置,再跳转。
相关类反射的知识,你可以参考一下专门的资料
在我们的Android虚拟机中有一个Activity管理器的进程在不停工作,应该它帮你完成了大部分的工作.
当时刻监视着你的意图。你想要干什么。
new Intent(Activity1.this, Activity2.class);
意味着你要从一个 Activity实例跳到另一个Activity实例去。
其中第一个Activity是己知的,就是当前实例,所以它就只需要你给它.this实例就可以了。
其中第二个Activity只知道它的类,不需要知道它的实例,因为你也不可能知道它的实例。Android规定Activity的实例开发人员是无权力创造的,你只能指定和想要。所以我们看不到 Activity2 a2 = new Activity2()这样的代码发生。
那么这个实例是怎么产生的呢? 没错,是由管理器根据你指定的类名称,和你指定的一些其它描述由它来帮你new出来的,然后它再自动帮你跳过去。
所以你要告诉他你想要的实例类型是哪个类, Activity2.class 管理器根据类反射机器产生该类实例,再进行设置,再跳转。
相关类反射的知识,你可以参考一下专门的资料
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询