【Android基础入门】如何实现页面的跳转

🍁每日推荐:基础算法无论在研究生面试还是求职面试都是十分重要的一环,这里推荐一款算法面试神器:牛客网-面试神器;算法题只有多刷勤刷才能保持思路与手感,大家赶紧行动起来吧(温馨提示:常见的面试问答题库也很nice哦)
在这里插入图片描述

如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦

🍀【Android基础入门】如何实现页面的跳转

🌳引言

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

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

小贴士:

//主动创建一个一个Activity会自动生成一个对应的xml文件
//并且会在manifests中生成对用的activity的代码

image-20220422091919506

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

image-20220422092854790

🌲实现页面跳转

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

关键代码如下所示:

//intent()方法有两个参数,前者是当前页面,后者是要跳转到的目标页面
        Button button=findViewById(R.id.button);

        button.setOnClickListener(
                (view)->{
                    Intent intent=new Intent(MainActivity.this,MainActivity2.class);
                    startActivity(intent);
                }
        );

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

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

跳转

🍁任务栈机制

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

/*
android的页面跳转机制
任务栈机制
先进后出
运行一个app,相当于将app的首页压入运行任务栈,这时栈中只有MainACtivity1
点击跳转
finish()出栈
用户看到的是栈顶端的页面
 */

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

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

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

🍁每日推荐:基础算法无论在研究生面试还是求职面试都是十分重要的一环,这里推荐一款算法面试神器:牛客网-面试神器;算法题只有多刷勤刷才能保持思路与手感,大家赶紧行动起来吧(温馨提示:常见的面试问答题库也很nice哦)
在这里插入图片描述

如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦

#面试##安卓工程师#
全部评论

相关推荐

大猪蹄子哥:1-谁教你这么写教育经历的……咱都这个学历了,很多公司要看本科、硕士,Gap Year的,你啪就给一个上大26届硕士,没了。 2-那堆奖学金揉成一行放最后得了,放前面显得你没技术自信,还是那句话,对于咱这个学历直接上重点,你这上半段看起来像个大专(无恶意 3-专业技能最好点出来细化方向,你熟悉的以太网是UDP还是TCP,是千兆还是万兆等等,多种信号处理……那你倒是说两个啊,后面空着干嘛,会的干嘛不讲 4-项目经历废话太多,描述不专业(怎么还有我,我们这种词),没有数据支撑(是婴儿还是巨人看不出来)。最后如果这些是真的XX项目、比赛,最好点出来,不然更显得像自学着玩的,或者说抄的(经典复现等于我做过 5-个人总结在咱这个分段没用
点赞 评论 收藏
分享
SadnessAlex:跟三十五岁原则一样,人太多给这些***惯坏了
点赞 评论 收藏
分享
评论
3
2
分享

创作者周榜

更多
牛客网
牛客企业服务