| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 2019级软件工程应用与实践-人工智能快递柜(代码分析6) -> 正文阅读 |
|
[移动开发]2019级软件工程应用与实践-人工智能快递柜(代码分析6) |
2021SC@SDUSC HomePageActivity
隐藏导航栏
初始化子组件的状态和点击事件
持续更新主页右上角时间
5秒内点击10次校徽,呼出导航栏, 2秒后关闭
开启柜子串口通信服务
具体介绍
此方法向界面的 fragment_container 中添加 attach。在此方法中先实例化 KeyBoardFragment 的对象,然后隐藏 attach 并展示其他内容。
获得一个FragmentTransaction的实例
添加一个显示详细内容的Fragment
提交事务 学习笔记findViewById(int id)切记findViewById(int id)需要写在onCreate()之后,否则闪退(自己试着写demo的时候翻车了)
而实际上,每次通过getLayoutInflator().inflator(R.layout.XXX)所得到的layout其实都相当于一个类的实例,也就是说,两次通过该方法得到的相同layout的实例,用它调用findViewById(int id)所得到的view是不同的。具体的例子可以看此博客:关于findViewById你所不知道的 调用的findViewById()函数其实有两种(目前我只看到两种,不确定还有没有其他的),一种是Activity类中findViewById()函数,另外一种是View类中定义的findViewById()函数。 一般我们在oncreate()方法中使用的(view)findViewById(R.id.)即是调用的Activity中的findViewById()函数,Activity中的findViewById()是从R.java中寻找东西,那么我们就要杜绝相同名字的控件;其次,在调用view中的findViewById()一定要想好父View是谁!即view.findViewById()中的view要找对,如果没有找对父View,返回基本都是null了 FragmentFragment添加方法一: 布局里的标签 方法二: 动态添加(本项目中使用)
commit()方法并不立即执行transaction中包含的动作,而是把它加入到UI线程队列中.如果想要立即执行,可以在commit之后立即调用FragmentManager的executePendingTransactions()方法. commit()方法必须在状态存储之前调用,否则会抛出异常,如果觉得状态丢失没关系,可以调用commitAllowingStateLoss(). 但是除非万不得已, 一般不推荐用这个方法, 会掩盖很多错误. 构造和参数传递所有的Fragment都必须有一个public的无参构造函数, 因为framework经常会在需要的时候重新创建实例(状态恢复时), 它需要的就是这个构造. 所以不要给Fragment写有参数的构造函数, 也不要企图搞个什么单例的Fragment. 这些都是反设计的. Fragment的通信除了DialogFragment和嵌套Fragment需要与自己的parent fragment通信以外, 一般的fragment是不与其他fragment有任何通信的. 因为要求应尽量独立, 模块化, 可复用.
对于DialogFragment来说, 可以通过一个public的set方法将外面的target设置进去. Fragment的生命周期Fragment的生命周期首先和Activity的生命周期密切相关, FragmentTransaction基础操作FragmentTransaction 中对Fragment有如下几种操作: attach(), detach()add(), remove(),show(), hide(),replace() 除了replace()以外其他都是成对的. 其中attach()和detach()不是很常用. add()和remove()是将fragment添加和移除. show()和hide()是用来设置fragment的显示和隐藏状态, 这两个方法并不对应fragment的状态变化,只是将view设置为visible和gone,然后调用onHiddenChanged()的回调. 实际上replace() == remove() + add(), 所以它的反操作也是replace(), 只不过把add和remove的东西交换一下. 关于replace()和show(), hide()的选择, 要根据实际使用情形来定. 就酱! |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:02:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |