这是我参与「第四届青训营 」笔记创作活动的第3天
3.使用Intent在活动之间穿梭
目标:由主活动跳转到其他活动
(1)使用显式intent
首先再创建一个活动,活动名为SecondActivity,这次仍然选择empty activity,根据之前学习过的自定义一个名叫second_layout的布局文件,然后与SecondActivity相联系。
为布局文件加入名为button2的按钮。最后的布局文件如下所示:
活动创建的基本流程:创建活动->做衣服(制作布局)->为活动穿上衣服(连接布局)->给活动报名(AndroidManifest.xml注册)->告诉活动你可以上台了(设定为主活动),做衣服和穿衣服的活动结合之前所学可以完成,之后下一步Android Studio会自动帮你完成,此处我们可以看一看AndroidManifest.xml,
可以看到,SecondActivity已经报名成功了,可以上台表演了。
不过这里SecondActivity没有被设定为主活动,从之前的学习可以知道,如果没有被设定为主活动,那么一般活动是不会被显示的,为了让他上台,我们需要做接下来的事情。
Intent分为显式Intent、隐式Intent。
在那之前了解一个概念,什么是上下文。
[上下文]:即Context类,android.content.Context类提供了与Android系统和项目资源的连接。 它是有关应用程序环境的全局信息的接口。上下文还提供对Android服务(例如位置服务)的访问。活动和服务扩展了Context类。
Intent有多个构造函数的重载,其中一个为
a.构造
Intent(Context packageContext,Class<?> cls)
第一个参数为启动活动的上下文,第二个参数为想要启动的目标活动。
通过这个函数就可以构造出Intent的“意图”。
b.使用
Activity类提供了一个startActivity()的方法,用于启动活动,将构建好的Intent作为参数传入该方法中就可以启动活动了。
c.实践
修改FirstActivity中的clickListener内容
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
}
});
重新运行活动。
点击Button1之后出现了Button2。