【Android】如何实现页面的跳转

简介: 此笔记是承上启下的,关于为页面添加响应的内容请详看【Android】如何为组件添加响应要实现两个页面间的跳转,肯定要有两个界面,这里展示如何创建一个空的Activity文件


🌳引言

此笔记是承上启下的,关于为页面添加响应的内容请详看【Android】如何为组件添加响应

要实现两个页面间的跳转,肯定要有两个界面,这里展示如何创建一个空的Activity文件

小贴士:

//主动创建一个一个Activity会自动生成一个对应的xml文件

//并且会在manifests中生成对用的activity的代码

网络异常,图片无法展示
|

在新建的activity的xml布局文件下,创建几个新的组件

网络异常,图片无法展示
|

🌲实现页面跳转

在MainActivity中添加跳转,当点击跳转按钮就跳转到第二个界面

关键代码如下所示:

//intent()方法有两个参数,前者是当前页面,后者是要跳转到的目标页面

        Buttonbutton=findViewById(R.id.button);

       

       button.setOnClickListener(

               (view)->{

                   Intentintent=newIntent(MainActivity.this,MainActivity2.class);

                   startActivity(intent);

               }

       );

同样的道理,我们为第二个界面也添加跳转,跳回到主界面

在MainActivity2的布局界面中我创建了一个id为imageView的组件,通过它绑定监听实现跳转

网络异常,图片无法展示
|

网络异常,图片无法展示
|

🍁任务栈机制

但是这里有一个大问题,页面每跳转一次,其实就是新加载了一个页面,就如上图中的反复跳转,用户看到的是两个界面,其实后台已经加载了很多个同样的资源了,要解决资源浪费的问题,就要了解Android界面跳转的栈机制

/*

android的页面跳转机制

任务栈机制

先进后出

运行一个app,相当于将app的首页压入运行任务栈,这时栈中只有MainACtivity1

点击跳转

finish()出栈

用户看到的是栈顶端的页面

*/

这是当前的运行机制,页面每跳转一次,就新加载了一个页面到任务栈中,如果只入栈不出栈,栈满了程序就会异常退出

网络异常,图片无法展示
|

解决这个问题就是在每次跳转到新的界面的时,都先销毁当前界面,就是让它出栈,图示如下:

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

因此只需要再现有的代码前。加一行销毁当前界面即可

网络异常,图片无法展示
|


相关文章
|
4月前
|
Android开发
Android实现页面渐变效果
Android实现页面渐变效果
41 1
|
4月前
|
Linux 调度 Android开发
【系统启动】Kernel怎么跳转到Android:linux与安卓的交界
【系统启动】Kernel怎么跳转到Android:linux与安卓的交界
93 0
|
3月前
|
Android开发 容器
35. 【Android教程】视频页面:ViewPager
35. 【Android教程】视频页面:ViewPager
44 3
|
7天前
|
Android开发 UED Kotlin
Android中如何跳转到Wi-Fi开关设置页
本文介绍如何在Android应用开发中使用隐式Intent引导用户至特定系统设置页面,如Wi-Fi设置页,并提供Kotlin代码示例。通过设置Intent的Action属性并检查设备兼容性,可轻松实现跳转功能,提升用户体验。此外,还列举了其他常用设置页面的Intent Action及注意事项。
32 15
|
4月前
|
Android开发
Android WindowFeature小探究,Android客户端Web页面通用性能优化实践
Android WindowFeature小探究,Android客户端Web页面通用性能优化实践
|
29天前
|
存储 安全 物联网
Android经典实战之跳转到系统设置页面或其他系统应用页面大全
本文首发于公众号“AntDream”,关注获取更多技巧。文章总结了Android开发中跳转至系统设置页面的方法,包括设备信息、Wi-Fi、显示与声音设置等,并涉及应用详情与电池优化页面。通过简单的Intent动作即可实现,需注意权限与版本兼容性。每日进步,尽在“AntDream”。
98 2
|
29天前
|
Android开发 iOS开发
Android项目架构设计问题之将隐式跳转的逻辑进行抽象和封装如何解决
Android项目架构设计问题之将隐式跳转的逻辑进行抽象和封装如何解决
28 0
|
29天前
|
监控 安全 API
Android项目架构设计问题之保证线上用户不会进入到本地配置页面如何解决
Android项目架构设计问题之保证线上用户不会进入到本地配置页面如何解决
22 0
|
29天前
|
Android开发
Android项目架构设计问题之定义一个关闭当前页面的Action如何解决
Android项目架构设计问题之定义一个关闭当前页面的Action如何解决
13 0
|
3月前
|
传感器 Android开发 UED
Android统一设置页面竖屏
【6月更文挑战第4天】
100 8